1

我有一个正则表达式

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

工作示例
有人可以帮我找到使用正则表达式的所有可能组合吗

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

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

但它无法捕获它

 ||1||     
 Jam Jam jambura

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

任何帮助将不胜感激。

4

1 回答 1

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');

试试小提琴

这个想法是先匹配\|\|\d+\|\|,然后才匹配jumbara。其实我花了半天时间才找到解决办法,所以我不记得为什么我开始在?!这里使用了,但是它确实有效

于 2013-07-10T17:54:47.400 回答