java中的Regex将接受以下模式
我的代码正在从属性文件读取数据。 其中可能有以下条目 rahul.myServer2.ip=192.168.0.4 我使用下面的正则表达式获取ip rahul\.\w+\.ip 但是我的正则表达式失败了,当我 rahul.myServer-1.ip=192.168.0.3 现在我需要编写正则表达式,它也将接受一些特殊字符。 它将返回ip和myServername的值java中的Regex将接受以下模式,java,regex,Java,Regex,我的代码正在从属性文件读取数据。 其中可能有以下条目 rahul.myServer2.ip=192.168.0.4 我使用下面的正则表达式获取ip rahul\.\w+\.ip 但是我的正则表达式失败了,当我 rahul.myServer-1.ip=192.168.0.3 现在我需要编写正则表达式,它也将接受一些特殊字符。 它将返回ip和myServername的值 无论我们提供什么,您都可以使用这个基于否定的正则表达式: rahul\.([^.]+)\.ip 此处[^.]+将再匹配1个字符,
无论我们提供什么,您都可以使用这个基于否定的正则表达式:
rahul\.([^.]+)\.ip
此处[^.]+将再匹配1个字符,直到得到一个点
在Java中,您可以这样编写:
rahul\\.([^.]+)\\.ip
你也可以用这个正则表达式
rahul\\.([\\w\\W]+?)\\.ip=([\\d.]+)
组1将包含服务器名称,组2将包含相应的ip地址 一个好的综合方法是[^.]*\.[^.=]*=[\\d.]+,其中第1组将获得名称,第2组将获得ip 它接受以下条目:
myServer4.ip=192.168.0.5
rahul.middlename.myServer3.ip=192.168.0.4
rahul.myServer2.ip=192.168.0.3
rahul\.[\w-\!@]+\.ip您可以给出括号范围。