0

是否有一个正则表达式可以从下面的字符串中给我一个名称值对,如下所示:

状态码 = 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 回答