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

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

阿神
阿神

闭关修行中......

全員に返信(3)
左手右手慢动作

正規表現では、バックスラッシュ文字 ('') を使用して、特殊な形式を示したり、特殊な意味を呼び出すことなく特殊な文字を使用したりできます。これは、たとえば、次のような文字列リテラルで同じ目的で同じ文字を使用することと衝突します。リテラルのバックスラッシュと一致するには、パターン文字列として '\' を記述する必要がある場合があります。これは、正規表現が でなければならず、各バックスラッシュは通常の Python 文字列リテラル内で表現される必要があるためです。

実際、どのパターンに一致させたいのかわかりませんが、上記の方法で問題は解決されるはずです。
生の文字列を使用することをお勧めします。

いいねを押す +0
Peter_Zhu

リーリー

このルールは実際に compile 之后确实就是

'ab\*c'

那么当然可以匹配目标字符串 ab*cd 中的 ab*c compile 後に適用されます リーリー

もちろん、ターゲット文字列 ab*cd 内の ab*c と一致することもあります🎜
いいねを押す +0
黄舟

一致させたくない場合はrを追加してください。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!