正则表达式只允许0-9和 - 字符,以及点(.)

use*_*571 1 c# regex

我需要一个正则表达式来验证0-9和允许.-字符.

以下是为0-9.字符工作:

Regex invalidCharsRegex = new Regex(@"^*[0-9\.]+$");
Run Code Online (Sandbox Code Playgroud)

Jer*_*rry 6

你的正则表达式很奇怪......

Regex invalidCharsRegex = new Regex(@"^*[0-9\.]+$");
Run Code Online (Sandbox Code Playgroud)

删除第一个星号,它没有做任何好事.

要允许-字符,只需将其添加到字符类中即可.此外,您不需要在字符类中转义点:

Regex invalidCharsRegex = new Regex(@"^[0-9.-]+$");
Run Code Online (Sandbox Code Playgroud)

如果你试图验证一个数字,这个正则表达式将不得不修改,因为正则表达式将接受----......整数/浮点数有点像这样:

Regex invalidCharsRegex = new Regex(@"^\-?[0-9]+(?:\.[0-9]+)?$");
Run Code Online (Sandbox Code Playgroud)