2017-03-22 14 views
0

に私は次のように私はそれを書かれていると正規表現

initメソッド内のすべてのselect文を見つけるしたいREを書きたいが、それは動作していない enter image description here

答えて

0

あなたができました次のようなものから始めてください:public void init\(\).*?\{.*?select\s*\*\s*fromsフラグで、.は改行文字と一致するように)例here

  • 丸括弧は正規表現で特別な意味を持っているので、彼らは余分な\でエスケープする必要があります

    あなたのアプローチに問題があることです。

  • デフォルトでは、ピリオド文字(.と一致しないため、sフラグを追加する必要があります。 C#では、これはRegexOptions.SingleLineとして利用可能です。

P.S.より堅牢にしたい場合は、public\s+void\s+init\s*\(\).*?\{.*?select\s*\*\s*fromのようなものを使用できます。これは、キーワード間に複数のスペースがある場合に、より自由になります。