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

标签 c# asp.net regex validation

我正在尝试使用 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/

相关文章:

c# - 使用 open xml sdk 从 xlsx 中读取日期

asp.net - 使用 ASPNet Core 托管在 Linux 上的 Windows 身份验证

javascript - 不同长度电话号码的正则表达式

java - 使用正则表达式替换字符串中的特定字符

javascript - 发布到相对 url

python - 在使用正则表达式库时向 python 中的符号添加反斜杠

c# - 背包-蛮力算法

c# - 串行端口。 BytesToRead() 函数

c# - 在所有打开的资源管理器窗口的列表框中获取路径

asp.net - Crystal 报表数据源到业务层对象集合