我有2个字符串,我想得到一个结果,该结果为我提供第一个'\ n \ n'之前的所有内容。
'1。 mellékleta 37/2018。 (XI。13)MNB rendelethez \ n \nÁltalánoskitöltésielőírások\ nI。\nFelügyeletijelentésrevonatkozóáltalánosszabályok\ n \ n1。
'12。 melléklet40/2018。 (XI。14)MNB rendelethez \ n \nÁltalánoskitöltésielőírások\ n \nKapcsolódójogszabályok\ nazÖnkéntesKölcsönösBiztosítóPénztárakrólszóló,1993年。 törvény(továbbiakban:Öpt。); \ naszemélyijövedelemadórólszóló1995年。ÉviCXVII。
我一直试图结合两个正则表达式来解决我的问题;但是,我也可能走错了路。我不知道,也许某个功能可能会更容易。
我在附上一个说我正在找到字符“ z”的字
extended regex : [\z+$]
I guess finding the first number is: [^0-9.].+
我的问题是如何组合这两个表达式以获取它们之间的字符串?
有没有更有效的方法?
答案 0 :(得分:1)
您可以使用
re.findall(r'^(\d.*?)(?:\n\n|$)', s, re.S)
或与re.search
一起使用,因为似乎只希望进行一场比赛:
m = re.search(r'^(\d.*?)(?:\n\n|$)', s, re.S)
if m:
print(m.group(1))
请参见Python demo。
模式详细信息
^
-字符串的开头(\d.*?)
-捕获组1:一个数字,然后捕获任意0个以上的字符,并尽可能少(?:\n\n|$)
-与两个换行符或字符串结尾匹配的非捕获组。请参见regex graph: