文本解析问题-如何正确解析
本文关键字:何正确 问题 文本 | 更新日期: 2023-09-27 18:26:02
我有以下文本,我试图通过将所有类别放在自己的行上来"整理"它们。我不知道如何使用regex或任何其他方法。
名称:品牌SLES重新定位:(不可重新定位)
版本:11供应商:SUSE LINUX Products GmbH,Nuernberg,Germany
发布:3.20.30构建日期:2012年2月3日星期五
安装日期:2014年9月24日星期三构建主机:gubaidulina
组:系统/Fhs源RPM:branding-SLES-13-20.30.src.RPM
尺寸:1659许可证:BSD 3条款
签名:RSA/82012年2月3日星期五,密钥ID e3a5c360307e3d54
包装商:http://bugs.opensuse.org
摘要:SUSE Linux企业服务器品牌文件
应该是
名称:品牌SLES
重新定位:(不可重新定位)
版本:11供应商:SUSE LINUX
Products GmbH,德国纽伦堡
版本:3.20.30
建造日期:2012年2月3日星期五安装日期:2014年9月24日星期三
构建主机:古拜杜利纳集团:系统/Fhs
来源RPM:branding-SLES-13-20.30.src.RPM
尺寸:1659许可证:BSD 3条款
签名:RSA/82012年2月3日星期五,密钥ID e3a5c360307e3d54
包装商:http://bugs.opensuse.org摘要:SUSE Linux企业服务器品牌文件
我不介意先对它进行一些编辑(删除某些空格等),以帮助实现总体目标。
这可以通过两个以上单词的关键字列表来完成,
否则它只使用一个单词。
使用已知单词的原因是没有任何正则表达式来确定
短语的开头。
替换为'n$1
编辑-更新到regex(消耗/去除前面的空白)
# @"'s*'b((?:'w+|Keywords1|Keywords2|Keywords3):)"
's* # Strip all preceding whitespace(will get replaced with 'n)
'b
( # (1 start)
(?:
'w+ # default, single word
| Key words1 # or, known words or phrases
| Key words2
| Key words3
)
:
) # (1 end)