Dyn*_*yna 4 python regex string split splice
我试图在特定单词之前拆分 python 中的字符串。例如,我想在 之前分割以下字符串"path:"。
"path:""path:bte00250 Alanine, aspartate and glutamate metabolism path:bte00330 Arginine and proline metabolism"['path:bte00250 Alanine, aspartate and glutamate metabolism', 'path:bte00330 Arginine and proline metabolism']我努力了
rx = re.compile("(:?[^:]+)")
rx.findall(line)
这不会在任何地方分割字符串。问题在于,"path:"永远不会知道后面的值来指定整个单词。有谁知道如何做到这一点?
使用正则表达式来分割字符串似乎有点矫枉过正:字符串split()方法可能正是您所需要的。
无论如何,如果您确实需要匹配正则表达式来拆分字符串,则应该使用该re.split()方法,该方法根据正则表达式匹配来拆分字符串。
另外,使用正确的正则表达式进行分割:
>>> line = 'path:bte00250 Alanine, aspartate and glutamate metabolism path:bte00330 Arginine and proline metabolism'
>>> re.split(' (?=path:)', line)
['path:bte00250 Alanine, aspartate and glutamate metabolism', 'path:bte00330 Arginine and proline metabolism']
该(?=...)组是一个先行断言:表达式匹配一个空格(注意表达式开头的空格),后跟 string 'path:',而不消耗空格后面的内容。