输入:
[1] string1 [2] string 2[3]string3 [5]string4
输出:
string1
string 2
string 4
如何用“regex”python解析案例为“input”和结果“output”?
答案 0 :(得分:0)
您的说明有点含糊,说 - 使用您提供的示例输入:
import re
line = '[1] string1 [2] string 2[3]string3 [5]string4'
matches = re.match(r'\[1\] (.*?)\[2\] (.*?)\[3\](.*?)\[5\](.*)', line)
print matches.group(1) # prints string1
print matches.group(2) # prints string 2
print matches.group(3) # prints string3
print matches.group(4) # prints string4
答案 1 :(得分:0)
如果索引的值前面跟不是空格或起始锚点的字符,似乎你不想要索引的值,
>>> s = "[1] string1 [2] string 2[3]string3 [5]string4"
>>> import regex
>>> m = regex.findall(r'(?<= |^)\[\d+\]\s*([^\[]*)', s)
>>> for i in m:
... print i
...
string1
string 2
string4