我有几个IP地址,例如:
115.42.150.37
115.42.150.38
115.42.150.50
如果要搜索所有3个IP地址,应该写哪种类型的正则表达式?例如,如果这样做115.42.150.*
(我将能够搜索所有3个IP地址)
我现在可以做的事情是这样的:/[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}/
但是它似乎不能很好地工作。
谢谢。
您所拥有的正则表达式已经有几个问题:
首先,它包含点。在正则表达式中,点表示“匹配任何字符”,您只需要匹配实际的点。为此,您需要对其进行转义,因此请在圆点前面加上反斜杠。
其次,但是您要匹配每个部分中的任何三个数字。这意味着您将匹配0到999之间的任何数字,显然其中包含许多无效的IP地址数字。
这可以通过使数字匹配更复杂来解决。该站点上还有其他答案可以解释如何执行此操作,但坦率地说,这不值得付出努力-以我的观点,最好将字符串用点分隔开,然后将四个块验证为数字整数范围-即:
if(block >= 0 && block <= 255) {....}
希望有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句