如何只使用正则表达式在字符串的字符的开头和结尾处获取数字?

时间:2012-02-24 11:46:17

标签: c# regex

Example String : "as8d79asf5.dfdg dg s dgd2011/25klsdsj jdıo84823 jhgfkasfsf 2001/26llkasdjfıo";

我想从字符串中获取数字。

结果:

  1. 二十五分之二千〇一十一
  2. 26分之2001
  3. 编辑:

    字符串中的字符数不清楚。例如:2 / 1234,214 / 1,22 / 2545。可能都是。

    我如何得到这个结果?

5 个答案:

答案 0 :(得分:3)

这应该可以解决问题:

\d+/\d+

否则,如果您正好寻找4digit / 2digit:

\d{4}/\d{2}

答案 1 :(得分:3)

仅使用@"\d+/\d+"就足够了

答案 2 :(得分:1)

您可以使用类似(C#引用)的表达式:

@"\d{4}/\d\d"

Altho与“人物的开始和结束”无关。

答案 3 :(得分:0)

尝试以下方法。

string input="as8d79asf5.dfdg dg s dgd2011/25klsdsj jdıo84823 jhgfkasfsf 2001/26llkasdjfıo";
        Regex nmRegex = new Regex(@"([\d]+/[\d]+)");
        var matches = nmRegex.Matches(input);
        List<string> matchedStrings = new List<string>();

        for (int i = 0; i < matches.Count; i++)
        {
            var g = matches[i].Groups;
            if (g.Count > 0)
                matchedStrings.Add(g[1].Value);
        }

答案 4 :(得分:0)

这样的正则表达式可能吗?

([[0-9]{4}\/[0-9]{2})

在C#中不稳固。