我正在尝试使用 RegularexpressionValidator 来匹配 IP 过滤系统的 IP 地址(可能带有通配符)。
我正在使用以下正则表达式:
"([0-9]{1,3}\\.|\\*\\.){3}([0-9]{1,3}|\\*){1}"
在带有 Regex.Matches 的 LINQPad 中运行它时工作正常,但在我使用验证器时似乎不起作用。
有没有人对更好的 Regex 或者为什么它在测试中有效但在原位无效有任何建议?
干杯,埃德
最佳答案
这:\\.|\\*\\.
看起来有点狡猾。改为这样做:
@"^(([0-9]{1,3}|\*)\.){3}([0-9]{1,3}|\*)$"
并且只接受 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])|\*)$
关于c# - 正则表达式匹配IP地址+通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2999282/