我在python中遇到了一个复杂的问题。在
我想在控制台中打印匹配的出现编号和字符串,如下所示:https://regex101.com/r/yA4wS1/1
正如您所看到的,在线regex测试仪会突出显示匹配项,以便您可以看到整个匹配项及其长度。在
我希望在我的代码中也这样做
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
p = re.compile(ur'(\w)\1\1\1+', re.MULTILINE)
test_str = u'aaaaaadgfdhgfbbbbgggee)ehje ekekkkkkeefh ehfeff88888éh\"hr ekkKKKKK\njhxjhjhhhhh\nthe the\n\"eeeeeeeeaaaabcaaaaadexxxdddzdzzzz\"\n\"eeeeeeeeaaaabcaaaaadexxxdddzdzzzz\"\n\"eeeeeeeeaaaabcaaaaadexxxdddzdzzzz\"\n\"aaaeeeeeeeeaaaadzxzzzzffffrrrr\"\n\"aaa\"'
#m = re.findall(p, test_str)
m = p.findall(test_str)
print (m)
但是python只打印组列表(一个字符大小的字符串列表)
^{pr2}$我想要的是打印整个匹配位置(意味着所有连续的字符序列)和匹配子字符串的长度。在
有人能用re模块来帮忙吗?在
谢谢。在
^{} 返回捕获的子匹配。在
您可以使用^{} 轻松访问所有匹配的组,包括第0个组(即整个匹配):
样本代码:
见IDEONE demo
注意,}来重新定义的行为。在
re.MULTILINE
在这里是多余的,因为模式中没有^
或{相关问题 更多 >
编程相关推荐