这是要提取的文本。
A=1
>a=1
>b=2
>if a==b:
> print "same"
>else: print "not same"
Z=1
F=FUNCTION_Z(1234)
>x=1
>y=2
>z=1我试着把这样的文字提取成两个匹配的。
>a=1
>b=2
>if a==b:
> print "same"
>else: print "not same"和
>x=1
>y=2
>z=1我试过"(([\>].*?[\r\n])[\r\n]+)*",但没成功。
任何帮助都将不胜感激。
发布于 2015-03-20 02:37:14
下面的regex将执行从以^开头的行到不以>开头的行的匹配(不包括空行)。
>>> import re
>>> s = '''A=1
>a=1
>b=2
>if a==b:
> print "same"
>else: print "not same"
Z=1
F=FUNCTION_Z(1234)
>x=1
>y=2
>z=1'''
>>> re.findall(r'(?m)^>(?:.*)(?:[\r\n]+>.*)*', s)
['>a=1\n\n>b=2\n\n>if a==b:\n> print "same"\n>else: print "not same"', '>x=1\n>y=2\n\n>z=1']发布于 2015-03-20 02:36:33
我自己解决了这个问题。我的解决方案是“(>.\r)\r(>.r)”。
https://stackoverflow.com/questions/29158336
复制相似问题