У меня есть такая строка x, когда я пытаюсь удалить текст на веб-сайте и столкнулся с этой проблемой:
x = 'P. 4. (5.2x4) abc 5.2x4 aoohrwow'
Я хочу создать шаблон регулярного выражения, который может удалить 5.2x4
Из-за того, что пользователь вводит размеры по разному шаблону, у меня был этот шаблон, который может охватывать почти все обстоятельства (например, строка y, z, v), кроме строки x выше.
y = 'abc 5.2 x 4 nsdf'
z = 'abc (5.2)3x 4ohsdf'
v = 'abc 5.2(4.) x4. qoqwh'
С моим шаблоном из строки x я получил 4.(5.2x4)
, но мне нужна 5.2x4
часть .
Мой шаблон на данный момент:
p = r'[(]?(\s)?(\d+)?(\.)?(\d+)?(\s)?[)]?(\s)?[(]?(\s)?\d+(\.)?(\d+)?(\s)?[)]?' \
r'(\s)?x(\s)?' \
r'[(]?(\s)?(\d+)?(\.)?(\d+)?(\s)?[)]?(\s)?[(]?(\s)?\d+(\.)?(\d+)?(\s)?[)]?'
Кто-нибудь может мне в этом помочь? Спасибо за ваше время.
Edit В общем, то, что мне нужно извлечь из строки, будет иметь такой шаблон:
(1.2)(3.4)x(5.6)
Строки, которые я отбрасываю с веб-сайта, могут упустить часть этого. В приведенной выше строке x
мой код неправильно считает 4.
в P. 4.
как одну из частей измерения, но на самом деле это не так.
Могу ли я искать шаблон в строке от конца до начала ? Если да, могу решить эту проблему