java正则表达式获取ip
我如何在以下字符串中使用java中的正则表达式获取192.168.1.101
,但是Bcast
可能存在或不存在
' inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0'
前导空格
How can i fetch 192.168.1.101
usin regex in java in following string ,however Bcast
may be or not present
' inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0'
with leading space
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用这样的内容:
我真的觉得 Abhishek Simon 对正则表达式的回答有点矫枉过正。您只是提取,而不是验证它是否是合法的IP地址!
显然,对于 Bcast,请使用如下所示的内容:
要获取所有 IP,请在不使用初始前瞻的情况下使用。
您可能最好执行一些字符串操作,例如拆分
和
:
来获取 IP。我把它留给你来决定。Use something like this:
I really feel Abhishek Simon's answer for the regex is an overkill. You are just extracting, not validating if it is a legal IP address!
For Bcast use something like below, obviously:
To get all IPs, use without the initial lookahead.
You might be better of doing some string operations like splitting on
and
:
to get the IPs. I leave it to you to decide.使用
(([1]([0-4][0-9]|[5][0-5])|[0-1]?[0-9]?[0-9])[ .]){3}(([2]([0-4][0-9]|[5][0-5])|[0-1]?[0-9]?[0-9] ))
这里看到这个快照,它还获取了广播IP
use
(([1]([0-4][0-9]|[5][0-5])|[0-1]?[0-9]?[0-9])[.]){3}(([2]([0-4][0-9]|[5][0-5])|[0-1]?[0-9]?[0-9]))
Here see this snapshot, it also fetches the bcast ip
您可以使用: ([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}
)第一个标记的表达式将是表达式中出现的第一个 IP 地址。
我经常使用正则表达式测试站点来帮助解决正则表达式问题。
You can use: ([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})
The first tagged expression will be the first ip address that appears in the expression.
I often use Regular expression test sites to help troubleshoot regular expressions.