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 文字列リテラル内で表現される必要があるためです。
実際、どのパターンに一致させたいのかわかりませんが、上記の方法で問題は解決されるはずです。
天蓬老师2017-04-18 10:22:43
リーリー
このルールは実際に compile
之后确实就是
'ab\*c'
那么当然可以匹配目标字符串 ab*cd
中的 ab*c
compile
後に適用されます
リーリー
ab*cd
内の ab*c
と一致することもあります🎜