读取文件并根据多个条件剪切每一行

Kar*_*k S 3 python java bash perl

我发现很难为这个问题提出一个合适的标题.因此,如果它具有误导性,我将不胜感激,如果你可以帮助改进它.

我已经提取了xml文件的属性值,现在我有输出,如下面的示例行所示:

category:buffer overflow  analyzer:data flow analyzer:buffer
Run Code Online (Sandbox Code Playgroud)

我需要将其拆分为

category:buffer overflow
analyzer:data flow
analyzer:buffer
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用Java,Perl或Python完成这项工作.

到目前为止,我所拥有的只是一个简单的Perl脚本,将其拆分为":".

所有建议都会有所帮助.

Blc*_*ght 5

合适的正则表达式将起作用.这是Python re模块的实现:

import re

s = 'category:buffer overflow  analyzer:data flow analyzer:buffer'

print(re.findall(r"(\w+:[\w ]+)(?: |$)", s))
#prints ['category:buffer overflow ', 'analyzer:data flow', 'analyzer:buffer']
Run Code Online (Sandbox Code Playgroud)