Regex 正则表达式:使用换行符以“分隔”搜索多个字符串&引用;
我有一个描述结构化数据源的字符串:Regex 正则表达式:使用换行符以“分隔”搜索多个字符串&引用;,regex,Regex,我有一个描述结构化数据源的字符串: Header whocares; SampleTestPlan 2 a b c d; Test abc; SampleTestPlan 3 e f g h i l; Wafer 01; EndOfFile; 每个领域。。。 ... 以“FieldName”开头 ... 以“;”结尾 ... 可能包含换行符 我需要用正则表达式找到重复两次的SampleTestPlan的值。所以 第一个值是: 2 a
Header whocares;
SampleTestPlan 2
a b
c d;
Test abc;
SampleTestPlan 3
e f
g h
i l;
Wafer 01;
EndOfFile;
每个领域。。。
... 以“FieldName”开头
... 以“;”结尾
... 可能包含换行符
我需要用正则表达式找到重复两次的SampleTestPlan的值。所以
第一个值是:
2
a b
c d
第二个值是
3
e f
g h
i l
我已多次尝试使用此类搜索字符串:
/样本测试计划(.\s)/gm
/样本测试计划(.\s)/通用汽车
/样本测试计划(.*)/通用汽车
但我需要更好地理解正则表达式是如何工作的,因为我对正则表达式绝对是个新手,我需要学习很多东西
提前感谢任何可能帮助我的人
意大利米兰Stefano假设您的输入将始终像示例一样格式良好,请尝试以下操作:
/SampleTestPlan(\s+\d+.*?);/sg
这里,/s
修饰符表示点匹配换行符
您可以。您可以使用以下正则表达式:
(?<=\w\b)[^;]+(?=;)
它匹配5次:
whocares
然后:
然后:
然后:
然后:
这将是
/SameTestPlan([^;]+)/g
<代码>[^abc]表示非a、b或c的任何字符
whocares
2
a b
c d
abc
3
e f
g h
i l
01