Maison  >  Questions et réponses  >  le corps du texte

python - Comment faire correspondre une chaîne plusieurs fois avec une expression régulière régulière au lieu d'une seule lettre

Par exemple, dans la chaîne suivante, plusieurs répétitions de « asd » correspondent à « asdasdasdasdasdasdasdasd » au lieu d'un seul « asd »
string='asdasdasdasdasdasdasddasfdhgasghsd'
Merci !

怪我咯怪我咯2712 Il y a quelques jours766

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-05-18 10:49:24

    string = 'asdasdasdasdasdasdasddasfdhgasghsd'
    print(re.findall(r'((?:asd)+)', string))
    
    # 解释下
    # (?:asd)+ 是正则的一种不存分组的语法, 它具有2个用途, 将`asd`看成一个样式整体, 所以当我们用+时, 就能代表多个asd
    # () 最外层的括号就是将匹配的结果存入分组, 与上面不同的就是, 少了`?:`, 因为没有这个, 所以它能存到分组
    # 所以整体的结果就是: 将多个asd匹配, 并存入分组, 然后在re.findall的结果就能看到了

    répondre
    0
  • 为情所困

    为情所困2017-05-18 10:49:24

    /asd/g

    répondre
    0
  • Annulerrépondre