0

以下の文字列から次のような名前と値のペアを与える正規表現はありますか?

statuscode = 179640000
new_Approved = 179640002

から:

&$filter=statuscode/Value eq 179640000 and new_Approved/Value eq 179640000

4

2 に答える 2

1

サンプルプログラム:

    public static void Main()
    {
        string src = "&$filter=statuscode/Value eq 179640000 and new_Approved/Value eq 179640000";
        Regex regex = new Regex(@"(\w*)/Value eq (\w*)");

        foreach (Match m in regex.Matches(src))
        {
            foreach (Group g in m.Groups)
            {
                Console.WriteLine(g.Value);
            }
        }
    }

次の出力が得られます

statuscode/Value eq 179640000
statuscode
179640000
new_Approved/Value eq 179640000
new_Approved
179640000
Press any key to continue . . .

試合の各グループにあるものは次のとおりです。

  1. 試合自体
  2. 値の名前
  3. 値自体。

これは、すべての名前と値が英数字と'_'であると想定しています。また、ソース文字列が持つ他のカーブボールがないことも前提としています。

于 2012-09-25T21:04:13.843 に答える
0

^&filter=({[0-9a-zA-Z]+}/Value eq {[0-9a-zA-Z]+})( and )?)$

それは一般的なテンプレートとして機能すると思います。使用している正規表現エンジンで動作するように、構文を少し変更する必要があります。

于 2012-09-25T21:00:23.300 に答える