例子:
a = "bzzzzzz <!-- blabla --> blibli * bloblo * blublu"
我想捕获第一条评论。评论可能是
(<!-- .* -->) or (\* .* \*)
没关系:
re.search("<!--(?P<comment> .* )-->",a).group(1)
还有:
re.search("\*(?P<comment> .* )\*",a).group(1)
但是如果我想要其中一个或另一个发表评论,我已经尝试过类似的方法:
re.search("(<!--(?P<comment> .* )-->|\*(?P<comment> .* )\*)",a).group(1)
但是没用
谢谢
最佳答案
尝试条件表达式:
>>> for m in re.finditer(r"(?:(<!--)|(\*))(?P<comment> .*? )(?(1)-->)(?(2)\*)", a):
... print m.group('comment')
...
blabla
bloblo
关于Python正则表达式捕捉两种评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7531253/