如何编写正则表达式

时间:2014-09-20 05:13:32

标签: c# regex

如何为" abc xyx 12 13 a a b"编写正则表达式吗

在上面

  1. abc xyx是固定关键字
  2. 12是第一个可以是任何内容的号码。
  3. 13也是可能更改的任何数字
  4. a b c也可能会更改
  5. 我只需检查此字符串以"abc xyz"开头,然后可用两个整数值。我正在使用c#.net进行编码。

2 个答案:

答案 0 :(得分:2)

你去吧

abc\sxyx\s\d+\s\d+\s.*

如果你想在这里提取两个整数是正则表达式

abc\sxyx\s(\d+)\s(\d+)\s.*

<强> online demo

C#样本

    string hrefValue = "abc xyx 12 13 a a b ";
    Match m = Regex.Match(hrefValue, @"abc\sxyx\s(\d+)\s(\d+)\s.*");
    Console.WriteLine("num 1: {0}, num 2: {1}", m.Groups[1].Value,  m.Groups[2].Value);

<强> online demo

答案 1 :(得分:0)

我在假设 - 空间可以是一个或多个 - 12是第一个可以是2位固定长度的数字 - 13也是可能改变的数字意味着与上面相同我猜 - a b c也可以改变意味着字符长度是一个有一个或多个空格

/^abc\s+xyx\s+\d{2}\s+\d{2}\s+[a-z]\s+[a-z]\s+[a-z]/

虽然它可能更短但是为了简单起见,我这样写了。

Online Demo