【发布时间】:2021-10-26 13:53:08
【问题描述】:
我的正则表达式有问题,我有这个
<asp:TextBox CssClass="form-control" pattern="\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?\/(3[0-2]|[0-2][0-9]|[0-9]))\b" placeholder="Adresse IP" ID="Ip_address" runat="server" />
所以这是我的正则表达式
\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?\/(3[0-2]|[0-2][0-9]|[0-9]))\b
当 IP 地址低于 200.200.200.200 时,它会强制用户添加掩码 /1 例如,但当它等于或高于它时不起作用
我实际拥有的
1.1.1.1 -> 强制/something 让它工作
199.199.199.199 -> 强制 /something 让它工作
200.200.200.200 -> 不强制/something 所以它不起作用
250.250.250.250 -> 不强制/something 所以它不起作用
【问题讨论】:
-
pattern正则表达式必须匹配整个输入字符串。 -
@WiktorStribiżew 我不明白你想说什么
-
您查看过这个之前的问题及其答案吗? stackoverflow.com/questions/5360768/…
-
@WiktorStribiżew 我在模式中这样做是因为在我尝试stackoverflow.com/a/51148542/10863293 和stackoverflow.com/a/17978652/10863293 后我有一个表单验证它不起作用也许我没有正确添加它们我不知道。我只是复制/粘贴
-
我刚刚提到了我提到的内容,因为您使用的是
\b,单词边界,可能没有意识到它们在这里毫无意义,因为实际上整个正则表达式都放在^(?:和)$之间并因此被锚定。我不确定您所说的“强制”和“不起作用/工作”是什么意思。正则表达式匹配字符串或不匹配。您要匹配的输入是什么?你能提供几个吗?那些不应该匹配的?
标签: regex ip-address