cari

Rumah  >  Soal Jawab  >  teks badan

python - 一个简单的正则匹配问题

In [33]: re.match('ab\\*c','ab*cd')
Out[33]: <_sre.SRE_Match object; span=(0, 4), match='ab*c'>

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

阿神阿神2781 hari yang lalu699

membalas semua(3)saya akan balas

  • ringa_lee

    ringa_lee2017-04-18 10:22:43

    Ungkapan biasa menggunakan aksara sengkang terbalik ('') untuk menunjukkan bentuk khas atau membenarkan aksara khas digunakan tanpa menggunakan makna khasnya Ini bertembung dengan penggunaan aksara yang sama oleh Python untuk tujuan yang sama dalam literal rentetan ; sebagai contoh, untuk memadankan garis miring ke belakang literal, seseorang mungkin perlu menulis '\' sebagai rentetan corak, kerana ungkapan biasa mestilah , dan setiap garis miring ke belakang mesti dinyatakan dalam rentetan Python biasa.

    Malah, saya tidak faham corak mana yang anda mahu padankan, tetapi masalah anda harus diselesaikan dengan perkara di atas.
    Adalah disyorkan untuk menggunakan rentetan mentah.

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:22:43

    'ab\*c'

    Peraturan ini sememangnya compile selepas

    'ab*c' // 这里*表示匹配`*`这个字符

    Maka sudah tentu ia boleh sepadan dengan ab*cdab*c dalam rentetan sasaran

    balas
    0
  • 黄舟

    黄舟2017-04-18 10:22:43

    Tambah r jika anda tidak mahu ia sepadan.

    re.match(r'ab\*c','ab*cd')

    balas
    0
  • Batalbalas