0

こんにちは、次の正規表現に基づくグループのマッチングについて質問があります

static string partPattern = @"^(?<Key>\w+)\s*(?<Value>.*)$";

サンプル データは次のとおりです。

   TEST_REPLICATE
    {
        REPLICATE_ID            1986
        ASSAY_NUMBER            877
        ASSAY_VERSION           4
        ASSAY_STATUS            "Research"
            }

値を正しく取得でき、値が NULL の場合も正しく機能します。私がやろうとしているのは、たとえば二重引用符で囲まれた最後のモジュールの値も取得することです。私がそれを正しく行っているかどうかはよくわかりません.これは上記のシナリオの正しい正規表現でしょうか.wの前に引用符を追加しました. 訂正してください、ありがとう

  static string partPattern = @"^(?<Key>\"w+)\s*(?<Value>.*)$";
4

2 に答える 2

1

あなたの正規表現は正しくありません.少なくともあなたが提供した入力に対して..

あなたの質問を理解した場合、これはあなたが必要とする正規表現です。

^\s*(?<Key>\w+)\s*\"?(?<Value>.*?)\"?$

モードで動作しmultilineます...

于 2012-09-06T15:45:03.437 に答える
0

問題がどこにあるかわからない。これは私のために働きます:

\s*(?<Key>[^\s]+)\s*(?<Value>.*)
于 2012-09-06T15:16:09.770 に答える