这是要提取的文字。
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]+)*"
,但它没有用。
任何帮助都将不胜感激。
答案 0 :(得分:1)
以下正则表达式将从以^
开头的行到不以>
开头的行(不包括空行)进行匹配。
>>> 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']
答案 1 :(得分:0)
我自己解决了这个问题。 我的解决方案是"([>]。?[\ r \ n])[\ r \ n] ([>]。?[\ r \ n] )"