我正试图从字符串中提取像***.ini这样的子字符串。
例如,我有
000012: 378:210 File=test1.ini Cmd:send command1
000512: 3378:990 File=test2.ini Cmd:send command2 File=not.ini Cmd: include command
我需要在第一个“File=”之后提取子字符串,在第一个文件=***.ini之后提取子字符串,即“Cmd:…”直到结束。
所以我想要的结果是:
test1.ini
Cmd:send command1
和
test2.ini
Cmd:send command2 File=not.ini Cmd: include command
我试过:
re.match("(.*) File=(.*).ini(.*)Cmd:(.*)", line, re.M\re.I)
这对第一行很有效,但对第二行来说,
我得到:
test2.ini Cmd:send command2 File=not.ini #which is wrong, wanted is:
test.ini
Cmd: include command
任何人请帮忙。谢谢。
LJ公司
最佳答案
您可以将此正则表达式与re.findall
函数一起使用:
\bFile=(.+?\.ini)\s+(Cmd:.*)
RegEx Demo
代码:
p = re.compile(ur'\bFile=(.+?\.ini)\s+(Cmd:.*)')
print re.findall(p, input_str)
关于python - 使用python正则表达式提取子字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35463769/