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