JavaScript で正規表現を使用して括弧をエスケープするさまざまな方法を試しましたが、まだ機能しません。
これは文字列です:
"abc(blah (blah) blah()...).def(blah() (blah).. () ...)"
これを検出したい:
abc().def()
このコードを使用すると、false が返されます。
str.match(/abc\([^)]*\)\.def\([^)]*\)/i);
正規表現が機能しない理由を教えてください。
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())
このように正規表現を使用します
var regExp1 = \^([a-z])*\(\ig;
それは一致します
abc(
次に使用する
var regExp2 = /\)\./
それは一致します
")."
文字列で..
次に、実際の文字列を分割して、
def(blah() (blah).blah())
正規表現が見つからなくなるまで繰り返します
regExp2
閉じ括弧を追加します..私が考えることができる最も簡単な解決策..それが役立つことを願っています..