を呼び出しますE、 "(G)/ {H})"、 "1" == "1"のメソッドパラメータ、およびCおよびKのインデックス値。 。パラメータは任意の文字を含むことができ、文字列は任意の数のプロパティおよび/またはメソッドを含むことができる。の.Net C#の正規表現は、私は次のように文字列を解析しようとしている
私はその仕事をする正規表現を探しています。これまでのところ私は
(?<=\.)(?< PropertyOrMethodName>\w+)((\\[(?< Index>\w+)\\])|((?< Open>\\()(?< Parameters>.+)(?<-Open>\\))(?(Open)(?!))))?
を思い付いたが、それは良い例ではありません上記サンプルキャプチャD(E).F( "(G)/ {H})"、 "1" == "1")。
これ、私には、少なくとも、正規表現でHTMLを解析しようとしているような*少し*ビットの音 - でちょうど約なんとか**いくつかの**ケースがありますが、エッジケースに対処する堅牢なものが必要な場合は、代わりに状態ベースのパーサを記述する必要があります。 –
あなたは正しいですが、いくつかのファンキーな正規表現は私の問題を素早く解決することができますが、パーサは適切なものです...ありがとう – pRintLn
あなたが望むものは可能かもしれませんが、率直に言って、 **多くの詳細が欠けているからです。インデクサは常にシンプルですか?文字列の外側にネストされたかっこを入れることはできますか?ネストされた中かっこか角かっこはどうでしょうか?あなたは本当にC#を解析しようとしていますか、それとも他の言語ですか?そして最も重要なのは、あなたの期待される成果は? – Kobi