java中的正则表达式将接受以下模式

时间:2014-09-16 10:55:35

标签: java regex

我的代码是从属性文件中读取数据。 可能有以下条目

的Rahul。的 myServer2 .IP = 192.168.0.4

我使用以下正则表达式获取ip 拉胡\。(\ W +)\。IP

但是当我得到

时我的正则表达式失败了

的Rahul。的 myServer上-1 .IP = 192.168.0.3

现在我需要写一个接受一些特殊字符的正则表达式。 它将返回 ip myServername 的值 无论我们将提供什么

3 个答案:

答案 0 :(得分:0)

您可以使用此基于否定的正则表达式:

rahul\.([^.]+)\.ip

此处[^.]+将匹配另外1个字符,直到获得一个点。

在Java中,您将其写为:

rahul\\.([^.]+)\\.ip

答案 1 :(得分:0)

你也可以使用这个正则表达式,

rahul\\.([\\w\\W]+?)\\.ip=([\\d.]+)

DEMO

组1将包含服务器名称,组2将包含相应的IP地址。

答案 2 :(得分:0)

一个很好的综合方法是([^.]*)\\.[^.=]*=([\\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