У меня возникла странная проблема; Надеюсь, никто не задавал этот вопрос до Мне нужно совместить два регулярных выражения, содержащие "(" ")".Python re.match не соответствует одному и тому же регулярному выражению
Здесь пока вид тестов я сделал, чтобы понять, почему это не работает:
>>> import re
>>> re.match("a","a")
<_sre.SRE_Match object at 0xb7467218>
>>> re.match(re.escape("a"),re.escape("a"))
<_sre.SRE_Match object at 0xb7467410>
>>> re.escape("a(b)")
'a\\(b\\)'
>>> re.match(re.escape("a(b)"),re.escape("a(b)"))
=> Ни один матч
Может кто-нибудь объяснить мне, почему регулярное выражение не совпадает с себя?
Большого спасибо
Regexes * do not * обычно соответствуют самим себе. Это не «найти эту строку»; regexes - это миниатюрный декларативный язык программирования. – user2357112