[英]Regex to Capture Each Line to Unique Capture Group, Where Number of Lines Varies, and Some Data may be Missing
我正在寻找一个正则表达式,它将每一行(不包括行标题冒号和空格)捕获到一个单独的组。 我在 Mac 应用程序键盘大师中使用这个正则表达式。
这就是我所拥有的: https://regex101.com/r/pxVzPM/1
我当前的正则表达式捕获了整行,但我最近决定添加数据的“名称”,例如“前缀:”,所以我只想捕获数据本身。 我尝试更改捕获,以便它忽略我想要的数据之前的所有内容,如下所示:
\R?\h*:\ ((?:.+)?)
但是当我重复这个时,正则表达式不再起作用。
此外,如果可能的话,最好将其作为重复捕获组,而不必复制代码 11 次。
注意事项:
这是我正在搜索的数据:
Prefix: 123
Name: Testing
File: 12345
Description: This field
Duration: 01:32
Start:
Volume: 200
Tempo: 120BPM
Referencing: Another Track
Original: This One
Notes: This is a test project
所以我试图捕捉到这一点:
123
Testing
12345
This Field
…etc.
进入捕获组:
第 1 组将是:123
第 2 组是:测试
等等...
任何帮助深表感谢!
谢谢!
那么:\s*(.*)
呢?
这将开始寻找一个colon
,然后是一个可选的whitespace
,并捕获空格之后的所有内容,直到组中的行尾。
您可以在此处查看测试数据的结果: regex101.com
编辑:
对于包含的空白数据,您可以使用以下数据: :(.*)
但您必须修剪所有结果以删除前导空格
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.