2024-09-29 03:30:25 发布
网友
基本上,我尝试使用python和regex查找一系列连续的重复模式:
(X[0-9]+)+
例如,给出输入字符串:
获取结果列表:
然而,我却得到了:
["X5", "X2"]
我已经在regexpal上测试了regex并验证了它是正确的,但是由于python处理“()”的方式,我无法获得所需的结果。有人能给我建议吗?在
您需要为第一个模式提供一个非捕获组(?:<pattern>):
(?:<pattern>)
((?:X[0-9]+)+)
将您的捕获组改为非捕获组(?:...)组。。。在
(?:...)
>>> import re >>> re.findall(r'(?:X[0-9]+)+', 'YYYX4X5Z3X2') ['X4X5', 'X2']
另一个例子:
像这样修改你的模式
Demo
您需要为第一个模式提供一个非捕获组
(?:<pattern>)
:将您的捕获组改为非捕获组
(?:...)
组。。。在另一个例子:
^{pr2}$像这样修改你的模式
Demo
^{pr2}$相关问题 更多 >
编程相关推荐