python - 一个简单的正则匹配问题
阿神
阿神 2017-04-18 10:20:43
0
3
672
In [33]: re.match('ab\\*c','ab*cd')
Out[33]: <_sre.SRE_Match object; span=(0, 4), match='ab*c'>

如上,没想明白为什么能匹配到,我的匹配模式中不是使用'\'将''转义成了字符串了吗,为什么最后还能匹配到结果??谢谢!!

阿神
阿神

闭关修行中......

모든 응답(3)
左手右手慢动作

정규식은 백슬래시 문자('')를 사용하여 특수 형식을 나타내거나 특별한 의미를 호출하지 않고 특수 문자를 사용할 수 있도록 합니다. 이는 문자열 리터럴에서 동일한 목적으로 동일한 문자를 사용하는 Python의 사용과 충돌합니다. ; 예를 들어 리터럴 백슬래시를 일치시키려면 정규 표현식이 이어야 하고 각 백슬래시가 일반 Python 문자열 리터럴 내부로 표현되어야 하기 때문에 '\'를 패턴 문자열로 써야 할 수 있습니다.

사실 어떤 패턴을 맞추고 싶은지 이해가 안 되지만 위 방법으로 문제를 해결해야 합니다.
원시 문자열을 사용하는 것이 좋습니다.

Peter_Zhu

으아악

이 규칙은 실제로 compile 이후

입니다. 으아악

그러면 물론 대상 문자열 ab*cd에서 ab*c

과 일치할 수 있습니다.
黄舟

일치하지 않으려면 r을 추가하세요.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!