一行中多个匹配项的条件正则表达式
Conditional Regex for multiple matches in a line
我有一个正则表达式,负责在可能有多个匹配项(即 "A:B A: B A : B A:B" 等)的行中匹配模式 A:B 问题在于复杂性A代表。
我正在使用正则表达式:
\b[\w|\(|\)+]+\s*:(?:(?![\w+]+\s*:).)*
匹配以下项目:
Data_1: Tutor Elementary: 10 a F Test: 7.87 sips
Turning 1 Data (A Run), Data: 0.0 10.0 10.0 17.3 0.0
Turning 2 Data (A Run), Data2: 0.0 6.8 0.0 6.8 6.8
Data_1: Tutor Pool: Data2: A B C
Turning 2 (A Run), ABSOLUTE: 368 337 428 0 2 147
Data_4 : 4AZE Localization : 33.14 lat -86 long
Time: 0.75 Data Scenario: 3121.2
问题是,如果您检查此设置(我使用 https://regex101.com/),第 2、3、5 行不会 return 正是我要查找的内容。如果匹配项是行中的第一个,我希望它获取从行首到第一个“:”的所有内容。这种类型的条件正则表达式可能吗?我已经尝试了所有我能想到的可能的方法,但我还没有成功。
提前致谢!
有点复杂,但试试这个here
^(.*?:.*?)(\b\w+\b\s*:.*?)\b\w+\b:.*$|^(.*?:.*?)\b\w+\b\s*:(.*?)$|^(.*)$
我有一个正则表达式,负责在可能有多个匹配项(即 "A:B A: B A : B A:B" 等)的行中匹配模式 A:B 问题在于复杂性A代表。
我正在使用正则表达式:
\b[\w|\(|\)+]+\s*:(?:(?![\w+]+\s*:).)*
匹配以下项目:
Data_1: Tutor Elementary: 10 a F Test: 7.87 sips
Turning 1 Data (A Run), Data: 0.0 10.0 10.0 17.3 0.0
Turning 2 Data (A Run), Data2: 0.0 6.8 0.0 6.8 6.8
Data_1: Tutor Pool: Data2: A B C
Turning 2 (A Run), ABSOLUTE: 368 337 428 0 2 147
Data_4 : 4AZE Localization : 33.14 lat -86 long
Time: 0.75 Data Scenario: 3121.2
问题是,如果您检查此设置(我使用 https://regex101.com/),第 2、3、5 行不会 return 正是我要查找的内容。如果匹配项是行中的第一个,我希望它获取从行首到第一个“:”的所有内容。这种类型的条件正则表达式可能吗?我已经尝试了所有我能想到的可能的方法,但我还没有成功。
提前致谢!
有点复杂,但试试这个here
^(.*?:.*?)(\b\w+\b\s*:.*?)\b\w+\b:.*$|^(.*?:.*?)\b\w+\b\s*:(.*?)$|^(.*)$