我的代码是从属性文件中读取数据。其中可能有以下条目
rahul.myServer2.ip=192.168.0.4
我使用下面的regex来获取ip rahul.(\w+).ip
但当我得到
rahul.myServer-1.ip=192.168.0.3
现在,我需要写正则表达式,这将接受一些特殊的字符也。它将返回ip和myServername的值,无论我们提供什么。
发布于 2014-09-16 02:58:10
您可以使用这个基于否定的regex:
rahul\.([^.]+)\.ip
在这里,[^.]+
将匹配多一个字符,直到它得到一个点。
在Java中,您将其写为:
rahul\\.([^.]+)\\.ip
发布于 2014-09-16 05:20:38
一个很好的综合方法是([^.]*)\\.[^.=]*=([\\d.]+)
,其中第一组将获得名称,第二组将获得ip。
它接受的条目如下:
myServer4.ip=192.168.0.5
rahul.middlename.myServer3.ip=192.168.0.4
rahul.myServer2.ip=192.168.0.3
https://stackoverflow.com/questions/25866915
复制