使用正则表达式查找两个子串之间的所有内容

时间:2016-11-30 22:45:42

标签: javascript regex

我试图在两个子串之间找到所有内容。例如:;jklasdfj;lkasdf=~~=alksdjf;lkajsd09823409283mvlb()*#@(*$(=^^=lkjdflkdjfkljdf

我想找到= ~~ =和= ^^ =

之间的所有内容

我尝试了/(?<=\=\~\~\=).*?(?=\=\^\^\=/)/,但这是一个无效的正则表达式。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你正在使用Javascript正则表达不支持的lookbehinds。尝试使用此表达式,并在括号之间恢复捕获的组的值:

> text  = '=~~=hello=^^='
> regex = /=~~=(.*)=\^\^=/
> text.match(regex)

[ '=~~=hello=^^=', 'hello', index: 0, input: '=~~=hello=^^=' ]

返回数组的元素[1]将是该组的值。如果上面的示例(来自Node shell)不清楚,请参阅有关MDN上match method的更多信息。