在Ruby中滚动Regexp

时间:2015-04-01 05:22:33

标签: ruby regex

如果我有一个字符串" ababa"如何查找字符串" aba"存在?在这个例子中,我希望它返回0和2,因为我有(aba)ba和ab(aba)。

编辑:前瞻性的工作(或者在Ruby中做过)......我现在无法在Javascript中重新实现。这是一个无限循环:

str = 'ababa',
re = /(?=aba)/g
while ((match = re.exec(str)) !== null) {
  console.log(match)
}

谢谢!

2 个答案:

答案 0 :(得分:3)

使用lookahead代替capturing字符串。

(?=aba)

试试这个。看看演示。

https://regex101.com/r/sJ9gM7/35

var re = /(?=aba)/g;
var str = 'ababa';
var subst = '';

var result = str.replace(re, subst);

答案 1 :(得分:1)

尝试使用JavaScript:

str = 'ababa',
re = /a(?=ba)/g
while ((match = re.exec(str)) !== null) {
   console.log(match)
}