2016-11-30 73 views
1

我試圖找到兩個子串之間的所有東西。例如:;jklasdfj;lkasdf=~~=alksdjf;lkajsd09823409283mvlb()*#@(*$(=^^=lkjdflkdjfkljdf使用正則表達式找到兩個子串之間的所有東西

我想找到= ~~ =和之間的一切= ^^ =

我試過/(?<=\=\~\~\=).*?(?=\=\^\^\=/)/,但它是一個無效的正則表達式。我該如何解決?

+1

在javascript中不存在lookbehind,因此將其更改爲'= ~~ ='並使用捕獲組來提取您想要的內容。 –

+0

@CasimiretHippolyte我該怎麼做? – AlanH

+0

https://regex101.com/r/8LKeEG/1? – sinisake

回答

0

您正在使用lookbehinds,Javascript正則表達式不支持。嘗試使用此表達式,以及回收所捕獲的組的值括號之間:

返回的數組的
> text = '=~~=hello=^^=' 
> regex = /=~~=(.*)=\^\^=/ 
> text.match(regex) 

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

[1]將是該組的值。如果上面的示例(來自節點外殼)不清楚,請參閱關於MDN上的match method的更多信息。

相關問題