正则表达式字符串中的Id标记,Java

正则表达式字符串中的Id标记,Java,java,regex,Java,Regex,我有一个正则表达式,它将从给定的输出中检索Id 输出 String output ="ieatenmpca06-neo4j-2 10.10.0.148:8301 alive client 0.9.2 2 dc1"; Regex查找ID String NEO4J_ID = "ieatenmpca06-neo4j-\\d"; 给定的正则表达式和输出将返回ieatenmpca06-neo4j-2的结果,这是我想要的答案 但是,在未来,Id将发生变

我有一个正则表达式,它将从给定的输出中检索Id

输出

String output ="ieatenmpca06-neo4j-2              10.10.0.148:8301  alive   client  0.9.2  2         dc1";
Regex查找ID

String NEO4J_ID = "ieatenmpca06-neo4j-\\d";
给定的正则表达式和输出将返回ieatenmpca06-neo4j-2的结果,这是我想要的答案

但是,在未来,Id将发生变化,Id的开头将不同
xxxxxxxx-neo4j-x


因此,我想要一个正则表达式,它将根据id的
neo4j
部分查找id。id前缀(ieatenmpca06)和后缀号(1,2,3)将发生变化,但
neo4j
将保持不变。

这是一个简单的正则表达式,在:

ieatenmpca06-neo4j-2


我不会提供这个的JAVA版本,您的问题还不够完整。

所以您只需要一个正则表达式来获取
-neo4j-
后面的数字。。。有什么问题?使用捕获组也会更容易。就这样做吧,试试这个,效果很好,达到了我所希望的效果。
(\w+)-neo4j-(\d+)
Match 1
Full match  0-20    `ieatenmpca06-neo4j-2`
Group 1.    0-12    `ieatenmpca06`
Group 2.    19-20   `2`