正規表現に問題があります。私はテキスト内のすべての機能を見つける必要があります。私はこの正規表現\w*\([^(]*\)
を持っています。テキストが関数名のない大括弧で囲まれない限り、うまく動作します。たとえば、この文字列の場合は、'hello world() testFunction()'
は()
とtestFunction()
を返しますが、testFunction()
しか必要としません。私は私のメソッドの文字列に渡される解析するために私のC#アプリケーションで使用したい。誰か助けてくれますか? ありがとう!正規表現を作成してコードからすべての関数を取得する方法
答えて
は、私は+ wは\にワット* \変更されています。ここ\w+\([^(]*\)
を試してみてください。これは、少なくともの1文字を含む一致が必要であることを意味します。
希望すること
あなたの答えはありがたいが、hello worldとtestFunctionを返す:( – Radislav
*
を+
(正規表現の実装に存在する場合は\w\w*
)に変更してください。これにより、\w
がと一致するかどうかが確認されます(現在所有しているゼロ以上ではなく)。回です。
あなたの答えをありがとうが、hello worldとtestFunctionを返す:( – Radislav
「関数名」の定義に大きく依存します。たとえば、説明に基づいて、「空の」名前を除外し、すべての有効な名前を探したくないだけです。
現在のソリューションが十分で、この空の名前に問題がある場合は、*を+に変更してください。ブラケットの直前に少なくとも1つの単語文字が必要です。
\w+([^(]*)
したり、正規表現のアプリケーションの構文に応じて、
\w\w*([^(]*)
。
答えてくれてありがとう、hello worldとtestFunctionを返す:( – Radislav
プログラミング言語には階層構造があります。つまり、一般的な場合には単純な正規表現では解析できません。常に動作する正しいコードを記述したい場合は、LRパーサーを使用する必要があります。
\w+\([^)]*\)
しかし、これはいくつかのケースでは失敗することに注意してください:あなたは、単純に、ほとんどの機能を拾うようなものを使用しますハックを適用したい場合。例えば。関数定義(シグネチャ)と関数呼び出しを区別することはできません。なぜなら、それはコンテキストを見ないからです。
Well-described。 –
(\w+)\(
正規表現グループがどのparentesisせずに変数の名前を持っているでしょうしたい場合は、あなたがそれらを後で追加することができ、私はあなたがパラメータを必要としないはず。
あなたはその後、使用するパラメータが必要です場合:
貪欲正規表現のための\w+\(.*\)
(それがネストされた関数呼び出しを一致します)
か...非欲張り正規表現のための
\w+\([^)]*\)
(ネストされた関数呼び出しと一致していない、唯一の内側のいずれかに一致します)
- 1. 正規表現を使用してHTMLからすべてのYouTube iframeを取得する方法
- 2. 正規表現間のすべてを取得する
- 3. 正規表現を使用してコンテンツを取得する正規表現
- 4. 正規表現を作成して式の数値をテストする方法は?
- 5. シェルスクリプトから関数全体を取得する正規表現ですか?
- 6. すべてのjavascript関数に一致する正規表現
- 7. 正規表現から(部分)変数を取得する方法は?
- 8. python3の正規表現のモジュラー関数を作成する
- 9. 正規表現以外のすべてのテキストを取得する正規表現
- 10. preg_replace、正規表現を取得する正規表現
- 11. 正規表現を取得する正規表現
- 12. 正規表現:すべて
- 13. 正規表現を除くすべて正規表現
- 14. 正規表現を使用して文字列からすべての数字を削除するJavascript関数
- 15. 正規表現を使用して2つのパイプ間ですべてのコンテンツを取得する方法
- 16. 正規表現 - すべてのhrefとinnerTextを取得しますか? C#で
- 17. 正規表現を使用してすべてのハッシュタグを取得
- 18. 複数のPython正規表現を作成してインポートを行う方法
- 19. 正規表現は、関数定義からパラメータリストを取得するには
- 20. より速い正規表現clr関数を作成する
- 21. 文字列からすべての数値を取得する正規表現ですか?
- 22. すべての目的BBコードの正規表現だから、現在
- 23. 投稿コンテンツからすべての画像を取得する正規表現を使用してwordpress
- 24. 正規表現を使用してhtmlを取得する方法
- 25. 正規表現をHTMLコードから解析するための正規表現
- 26. 値からすべての正規表現を見つける
- 27. 正規表現を使用して文字列パターンから数字を取得
- 28. 表から値を取得する正規表現
- 29. Python正規表現 - 数字を取得
- 30. 正規表現を使用して要件を取得する
これは何語ですか? –
私はそれが正規表現で行うことができるかどうかは確かではありませんが、正規表現はこれに最適なツールではありません。私が慣れ親しんでいるプログラミング言語はすべて、[通常の言語ではなく] [文脈自由言語](http://en.wikipedia.org/wiki/Context-free_language)である(http://en.wikipedia.org/wiki)。/Regular_language)。 – amit
'[^(] *'は意味を持ちません。少なくとも '[^]] *'を実行して貪欲でないようにしてください。 – KurzedMetal