簡體   English   中英

正則表達式逃避括號

[英]Regex to escape the parentheses

我嘗試了不同的方法來逃避使用JavaScript中的正則表達式的括號,但我仍然無法使其工作。

這是字符串:

"abc(blah (blah) blah()...).def(blah() (blah).. () ...)"

我想要檢測到這個:

abc().def() 

使用此代碼,它返回false。

 str.match(/abc\([^)]*\)\.def\([^)]*\)/i);

你能告訴我為什么我的正則表達式不起作用嗎?

此正則表達式將匹配您提供的字符串:

(abc\().+(\)\.def\().+(\))

並使用反向引用$1$2$3將產生abc().def()

或者,如果您不想要后引用,請使用此選項:

abc\(.+\)\.def\(.+\)

K ......這是一個想法......

abc(blah (blah) blah()).def(blah() (blah).blah())

像這樣使用regExp

var regExp1 = \^([a-z])*\(\ig;

它會匹配

abc(

然后用

var regExp2 = /\)\./

它會匹配

")." 

在字符串..

然后拆分實際的字符串,使其成為

def(blah() (blah).blah())

重復直到正則表達式找不到

regExp2 

並添加一個結束括號..我能想到的最簡單的解決方案..希望它有所幫助..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM