Rumah  >  Soal Jawab  >  teks badan

python的正则表达式匹配如何找到所有匹配成功的部分(包括重叠的)

我们知道re.findall()可以匹配所有不重叠的匹配成功的部分,那如何进行可重叠的匹配呢?求大神不吝赐教。

举一个例子

假设text = "acbca"pattern = "(a.*b)|(b.*a)"
使用re.findall(pattern, text)
结果是这样的: [("acb", "")]
"bca"这一个片段并不会被找到。问题就是,如何让"acb""bca"两个片段都能被匹配上呢?

阿神阿神2741 hari yang lalu813

membalas semua(1)saya akan balas

  • ringa_lee

    ringa_lee2017-04-17 17:57:16

    key = "gost.default.api.access.user.kicktype.limitusers.count@"
    p1 = ".((api)\.access)."
    pattern1 = re.compile(p1)
    matcher1 = re.search(pattern1,key)
    matcher1.group(0)
    matcher1.group(1)
    matcher1.group(2)
    使用()保存捕获组

    balas
    0
  • Batalbalas