多线正则表达式。有时会出现字符串

时间:2016-09-14 08:38:21

标签: regex

我有一个多行字符串

/ROC/42398492837498
/RFB/SOMETHING1
SOMETHING2

我想要的地方:

  • 如果以/ ROC /
  • 开头,则不行
  • / RFB / if / RFB /之后的字符串
  • 如果以上都不符合,则
  • 整个字符串。

所以从我的例子来看,我希望:

  • 不匹配
  • SOMETHING1
  • SOMETHING2

到目前为止我已经

^(?!\/ROC\/)(?:\/RFB\/)?.*$

然而,这与第2行中的/ RFB /匹配,可能是因为可选的?以及。*

1 个答案:

答案 0 :(得分:0)

您必须使用捕获组:

^(?!\/ROC\/)(?:\/RFB\/|)(.*)$

它将为您提供以下内容:

MATCH 1
1.  [25-35] `SOMETHING1`
MATCH 2
1.  [36-46] `SOMETHING2`

regex101上查看。