正则表达式允许在匹配之间重用文字

时间:2012-05-24 21:47:09

标签: regex

我想从像这样的字符串中得到一个结果数组:

results|foofoofooresults|barbarbarbarresults|googoogoo

我似乎无法让regex工作到下一次出现的“结果|”

的边缘
1.results|foofoofoo

2.results|barbarbar

3.results|googoogoo

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

对于您提供的示例,此正则表达式将起作用:

results\|(\w+)\1\1

我无法从你的例子中确切地知道你在寻找什么,但还有其他几种可能性,包括:

results\|\w+{9}
results\|(\w{3})\1\1
results\|\w+?(?=results)

答案 2 :(得分:0)

试试这个:

results\|.*?(?=results\||$)

这使用lookahead assertion从一个results|匹配到下一个(或字符串的结尾)。