简单的正则表达式[0-9]*在c#中不能使用{e|24}

本文关键字:不能 正则表达式 简单 | 更新日期: 2023-09-27 17:51:19

我一直在用c#编写我自己的简单维基百科解析器。到目前为止,由于这个问题,我没有走得很远。

我提取字符串{e|24},但它可以包含任何数字。我所要做的就是简单地从这个字符串中提取数字。

这是我当前使用的代码:

Match num = Regex.Match(exp.Value, "[0-9]*");
Console.WriteLine(num.Value);

但是num.Value是空白的。

有人可以解释为什么这是不工作,我怎么能解决它?

简单的正则表达式[0-9]*在c#中不能使用{e|24}

您可能希望使用[0-9]+来确保至少有一个数字。[0-9]*允许匹配0次或更多次,因此得到空格

我的建议,使regexp: 'd+

。简单。较短,不使用组或范围