1

括弧を含む JavaScript 関数名の grep を探しています。

例:myfunction()

.on()、などの.click()jQueryイベントも無視する必要があり.width()ます。したがって、基本的には「括弧と括弧の前に単語を取得しますが.、単語の前にある場合は取得しません」。私はさまざまなことを試し([\l\u]())ましたが、頭を動かすことができません。何か案は?

4

1 に答える 1

1

何かがその「前」に現れない可能性があるフレーズに一致させるには、否定の後読みを使用します。

(?<!\.)\b([\l\u]+\(\))

あなた自身の試みで考えられる問題の 1 つは、括弧の前の 1 文字だけをテストしたことです。もう 1 つは、(文字通り!) 括弧をエスケープしなかったことです。

myfunction()これはおよび にも一致しmyFunction()ますが、それ以上のものはありません。関数名で一般的に使用されるより大きな文字セットは次のようになります。

(?<!\.)\b([_\l\u]\w*\(\))

これは、括弧内に表示される可能性のあるすべての引数を無視することに注意してください(仕様に従って、またはそう思われるように)。残念ながら、 「一致する括弧」を単一のGREPと一致させることができないため、これを簡単に追加することはできません.

于 2014-04-09T17:27:18.003 に答える