Я пытаюсь использовать регулярные выражения, чтобы найти неправильно используемые операторы в моей программе.
В частности, я пытаюсь выяснить, использовались ли некоторые операторы (скажем,%, $ и @) без цифр по обеим сторонам.
Вот несколько примеров неправильного использования:
'5%'
'%5'
'5%+3'
'5%%'
Есть ли способ сделать это с помощью одного re.search?
Я знаю, что могу использовать + как минимум для одного или * для хотя бы нуля, но, глядя на:
([^\d]*)(%)([^\d]\*)
Я хотел бы найти случаи, когда хотя бы один из группы (1) и группа (3) существует,
, поскольку вставка% с цифрами на обеих его сторонах является хорошим использованием оператора.
Я знаю, что мог бы использовать:
match = re.search(r'[^\d\.]+[@$%]', user_request)
if match:
return 'Illegal use of match.group()'
match = re.search(r'[@$%][^\d\.]+', user_request)
if match:
return 'Illegal use of match.group()'
Но я бы предпочел сделать это с одной строкой re.search.
А также - когда я использую [^\ d.] это включает начало и конец строки?Или только разные символы?
Спасибо:)