In [33]: re.match('ab\\*c','ab*cd')
Out[33]: <_sre.SRE_Match object; span=(0, 4), match='ab*c'>
如上,没想明白为什么能匹配到,我的匹配模式中不是使用'\'将''转义成了字符串了吗,为什么最后还能匹配到结果??谢谢!!
ringa_lee2017-04-18 10:22:43
정규식은 백슬래시 문자('')를 사용하여 특수 형식을 나타내거나 특별한 의미를 호출하지 않고 특수 문자를 사용할 수 있도록 합니다. 이는 문자열 리터럴에서 동일한 목적으로 동일한 문자를 사용하는 Python의 사용과 충돌합니다. ; 예를 들어 리터럴 백슬래시를 일치시키려면 정규 표현식이 이어야 하고 각 백슬래시가 일반 Python 문자열 리터럴 내부로 표현되어야 하기 때문에 '\'를 패턴 문자열로 써야 할 수 있습니다.
사실 어떤 패턴을 맞추고 싶은지 이해가 안 되지만 위 방법으로 문제를 해결해야 합니다.
원시 문자열을 사용하는 것이 좋습니다.
天蓬老师2017-04-18 10:22:43
으아악
이 규칙은 실제로 compile
이후
그러면 물론 대상 문자열 ab*cd
에서 ab*c