正则表达式有助于匹配表达式并排除某些匹配

时间:2017-09-03 15:27:02

标签: regex

我正在尝试解决这个问题,其中一行或多行中存在相同的短语,但我只想匹配正确的表单。

在我的情况下,我想要一个行块中的所有案例ID

我的行块看起来像这样

!# Reason: Reason in Detail
!# ACL: Rule
!# Modifier: Mod1 - 11/17/05 - ccc REMEDIATION: added expiration date
!# Modifier: Mod2 - 06/21/06 - qqq REMEDIATION: changed expiration date
!# Modifier: Mod3 - 4/22/2008 - renewed for 1 yr per REQ<TEST1XX>
!# Requester: Req1
!# Group: imp1
!# Exp. Date: 4/22/2009
!# Reference Case : http://case/C1TEST1TEST1XXX
!# Case : C1TEST1TEST1TEST2
!# Case # C1TEST1TEST1TEST1X

我使用正则表达式\bCase :.*\b\W来匹配所有情况,但是一些行块包含我想要避免的引用案例。不知道该怎么做。任何帮助将不胜感激。

我的正则表达式小提琴:https://regex101.com/r/HA3zEe/1/

1 个答案:

答案 0 :(得分:1)

如果你可以使用正则表达式中的分组值,你可以使用这样的正则表达式:

<Product>
 <Contributor>
  <PersonName>

[Regex Demo]

我使用Reference Case\s*:\s*\S+|Case\s*:\s*(\S+) 来匹配您不需要的内容,然后不要将其值放在组中,因此在其他情况下正则表达式检查Reference Case\s*:\s*\S+我将其值分组Case\s*:\s*(\S+) - 检查(\S+) - 。