RegEx返回锚点之间的多个匹配

时间:2014-11-25 23:40:53

标签: regex

我需要执行一个会返回多次出现的匹配但是这需要受到目标字符串中锚点的限制。

我的RegEx模式将是tag(.*)/tag

反对一串:(换行符以便于阅读)

tagcatch 1/tag
tagcatch 2/tag
tagcatch 3/tag
Only catch above this
tagcatch 4/tag
tagcatch 5/tag
tagcatch 6/tag

愉快地返回包含catch 1到catch 6的多个命名组。这很有效,但我需要的是将范围限制为字符串的开头和短语

只能抓住这个

所以我的小组只会通过catch 3包含catch 1。

任何帮助都会受到高度赞赏,因为我对这看起来很简单的任务感到难过。

2 个答案:

答案 0 :(得分:0)

您可以使用肯定前瞻来断言该短语如下。

(?s)tag(.*?)/tag(?=.*\bOnly catch above this)

Live Demo

答案 1 :(得分:0)

如果您多次重复Only catch above this,请使用此模式

Only catch above this.*$|tag(.*?)/tag  

s选项
Demo