正则表达式以选择案例名称

时间:2014-07-03 15:06:38

标签: regex

我需要正则表达式才能只选择一个

  

案例

带有

的文字名称
  

ID = 2

。 我试过这个:(?<=Case:)[\s\S]*?(?:(?!Id=2).)* 该表达式选择所有这些表达式。什么表达应该是正确的? 文字是:

  

案例:测试ID = 1时间结束案例:B测试ID = 2时间结束案例:C测试     Id = 3时间结束

2 个答案:

答案 0 :(得分:1)

您可以使用此模式:

\bCase:(?:[^IC]|\B[IC]|I(?!d=)|C(?!ase:))*Id=2(?!\d)

我们的想法是避免再次使用否定的字符类来匹配“Case:”和您正在寻找的“Id”之间的“Id”或“Case”字样。

答案 1 :(得分:0)

我认为您要匹配B,其中包含字符串Id=2。如果是,请尝试以下正则表达式,

Case\s*:\s*\K[A-Z](?=\s*\S*\s*Id=2)

DEMO