2016-07-04 3 views
0

jsに連結ファイルがあり、そこにはアンダースコアで始まる関数とそうでないものがあります。このファイルでは、関数が引用符で囲まれているかどうかにかかわらず、アンダースコアで始まる関数だけを照合したいと思います。正規表現と引用符で囲まれていない同じ文字列と一致する正規表現

どうすればいいですか?

これは両方において、1つまたは別のではなくマッチングされる。

/(_)[^" ]+|_/ 
+1

gフラグがありません - 最初のものに一致するのはなぜですか? – otajor

答えて

3

" test._function1 =関数(){} "NGクリック=" test._function1()" あなたは間違いなく必要/g修飾語。

あなたが入力した正規表現はすべて一致します_文字列内の文字は、この問題を引き起こす可能性があります。また、別のグループを追加する必要はありません。

これを使用する代わりに。

https://regex101.com/r/sB7kX2/1は、最後に可能な場合は、より良いプレフィックスを追加した方がよいかもしれません:

/(_)[^" ]+|_/g 

あなたはこの

(_)[^" ]+/g 

ライブデモを使用することができます。これは、未知のマッチの可能性を制限するはずです。

(_myFunction)[^" ]+/g 
関連する問題