我有一个大字符串,希望读取所有左、右至<;=例如{\nnode [shape=box] ;\n0 [label="X[2] <= 17055.5\\ngini = 0.0454\\nsamples = 43\\nvalue = [42, 1]"] ;\n1 [label="gini = 0.0\\nsamples = 1\\nvalue = [0, 1]"] ;\n0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ;\n2 [label="gini = 0.0\\nsamples = 42\\nvalue = [42, 0]"] ;\n0 -> 2 [labeldistance=2.5, labelangle=-45, headlabel="False"] [label]="X[0] <= 5.41" ;\n}
这里我应该有两组输出,因为<;=出现两次
python正则表达式python-3.x
如果我理解正确,您希望
<=
周围的单词由"
或\
分隔。如果是:["\\]
匹配"
或\
捕获的组
([^"\\]+<=[^"\\]+)
匹配一个或多个非"
或\
的字符,后跟<=
,然后再匹配一个或多个非"
或\
的字符带正向前瞻的零
(?=["\\])
,确保捕获的组后面紧跟"
或\
示例:
你可以试试这个:
它可能会更快,但它做的工作
Online demo
相关问题 更多 >
编程相关推荐