Python正则表达式:非贪婪可选分组后接另一可选分组的匹配异常问题咨询
Python正则表达式:非贪婪可选分组后接另一可选分组的匹配异常问题咨询
我在Python中使用了以下正则表达式:^( .+?)?( Com:.*)?$
(这个正则看起来可能有点奇怪,但它其实是从一个更复杂的正则表达式中提取出的有问题的部分)
我有两个不同的测试字符串:
abc Com: 123Com: 123
针对第一个字符串,分组1只匹配到了*" abc",分组2匹配到了" Com: 123"*。这和我的预期一致,因为分组1是非贪婪模式。
然而针对第二个字符串,我本以为分组1会匹配空内容,分组2会再次匹配到*" Com: 123"*。但实际情况却是分组1匹配了整个字符串,分组2什么都没匹配到。我完全搞不明白这是怎么回事?
有没有人能解释下其中的原因?
备注:内容来源于stack exchange,提问作者Serbenet
相关产品推荐
相关产品推荐

