如何让这个正则表达式也接受负值

时间:2016-05-03 07:11:16

标签: c# regex

我不了解正则表达式,发现文档很难理解。 目前我使用这个表达式

@"\d+(\R.\d{0,2})?"  

它只允许我想要的小数,但它不允许负数。

我发现了关于同一主题的这个问题:
How do I include negative decimal numbers in this regular expression? 但我只是看不出我需要改变我的表达方式才能让它发挥作用。

我很感激这方面的一些帮助。 如果有一些关于这个主题的文档清楚易读和理解也很好。

2 个答案:

答案 0 :(得分:2)

使用^-?\d+(?:\.\d{0,2})?$,但您的正则表达式允许使用20.这样的数字,所以我建议至少为此^-?\d+(?:\.\d{1,2})?$添加一些数据。

另请不要忘记^$。您可以使用www.regex101.com/,在那里可以试用正则表达式并观看好的文档。

答案 1 :(得分:1)

您可以将-包括在内 @"[+-]?\d+(\R.\d{0,2})?"

Check this simple Cheat sheet for C# regular expressions metacharacters, operators, quantifiers etc 并且肯定https://regex101.com是在线正则表达式测试器的最佳位置