正则表达式匹配IP地址+通配符

Ed *_*mes 6 c# regex asp.net validation

我正在尝试使用RegularexpressionValidator来匹配IP过滤系统的IP地址(带有可能的通配符).

我正在使用以下正则表达式:

"([0-9]{1,3}\\.|\\*\\.){3}([0-9]{1,3}|\\*){1}"
Run Code Online (Sandbox Code Playgroud)

使用Regex.Matches在LINQPad中运行它时工作正常,但在我使用验证器时似乎不起作用.

有没有人建议更好的正则表达式或为什么它会在测试中工作而不是原位?

干杯,艾德

Cal*_*ers 5

这:\\.|\\*\\.看起来像狡猾的一点.改为:

@"^(([0-9]{1,3}|\*)\.){3}([0-9]{1,3}|\*)$"
Run Code Online (Sandbox Code Playgroud)

并且只接受0-255(谢谢,apoorv020):

^((([0-9]{1,2})|(1[0-9]{2,2})|(2[0-4][0-9])|(25[0-5])|\*)\.){3}(([0-9]{1,2})|(1[0-9]{2,2})|(2[0-4][0-9])|(25[0-5])|\*)$
Run Code Online (Sandbox Code Playgroud)


Vee*_*Arr 3

asp:RegularExpressionValidator不需要您双转义反斜杠。你应该试试:

([0-9]{1,3}\.|\*\.){3}([0-9]{1,3}|\*){1}