Javascript Regex Pattern Capture - 所有可能的组合

时间:2013-07-10 15:26:45

标签: javascript regex

我有一个正则表达式

\|\|(\d+)(?=\|\|(?:(?!\|\|\d+\|\|)[\s\S])*jambura)

Working Sample
有人可以帮我找到使用正则表达式的所有可能的组合

详细说明: 当前正则表达式能够捕获WIDEST MATCHES(在给定页面内),但它无法捕获嵌入/子串模式 例如:正则表达式能够捕获|| 1 ||为了

 ||1||     
 Jam Jam jambura jadu tu sikh jambura

但无法捕获

 ||1||     
 Jam Jam jambura

基本上我想写一个能够找到给定单词出现的页码的模式。因此,如果在页面|| 1 ||上出现两次单词“jambura”,我应该能够捕获2个匹配。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这对我有用

var str='||1|| Jam Jam jambura jadu tu sikh jambura';
reg = /(?!\|\|(\d+)\|\||jambura).+?jambura/g;
re = /(?![\|]+)\d+(?=[\|]+)/
alert('page '+str.match(re)+': '+str.match(reg).length+' matches');

<强> Try Fiddle

首先匹配\|\|\d+\|\|,然后才匹配jumbara。实际上,我花了半个晚上才找到解决方案,所以我不记得为什么我开始在这里使用?!,但它有效