【发布时间】:2017-04-17 12:27:00
【问题描述】:
我正在尝试验证中间有小数的数字是否在允许前导零的 0-255 范围内。
到目前为止,我已经想出了正则表达式
^0*([1-9][\.\d]|250)*
我尝试过的示例是 63.32.32.250,但它只抓取 63,而不是字符串的其余部分。
我认为 [\.\d] 会包含所有句点,但事实并非如此。
我在这里做错了什么?谢谢
【问题讨论】:
-
您是否要为 IPV4 地址创建正则表达式?
-
不,我并不是真的想为 IPV4 地址创建一个正则表达式,只是为任何带有 3 个小数点和 4 个数字的随机数字地址。我查看了建议的链接,这些正则表达式似乎特别长。也许有更优雅的解决方案?
-
一个由
.分隔的数字地址,其值介于 0 和 255 之间。嗯,这似乎非常接近 IPv4 ...您应该使用您知道的相同逻辑。并检查SO,有正则表达式的植物,像这样的范围并不简单是正则表达式。但是你可以拆分String并检查数值范围