2017-12-01 4 views
-2

私は与えられた出力からIdを取り出す正規表現を持っています。Regex文字列からのIdタグ、Java

String NEO4J_ID = "ieatenmpca06-neo4j-\\d"; 

に与えられた正規表現と出力のIDを検索するために、出力

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

正規表現は、私が望む答えであるieatenmpca06-neo4j-2の結果を返します。

しかし、将来、IDが変更されると、IDの開始は異なるxxxxxxxx-neo4j-xになります。

私はIDのneo4jセクションに基づいてIDを見つける正規表現が欲しいです。 Id接頭辞(ieatenmpca06)と接尾辞番号(1,2,3)は変更されますが、neo4jは変わりません。

+0

だから、 '-neo4j-'の後ろの数字を得るには正規表現が必要です...問題は何ですか?キャプチャグループを使用する方が簡単になります。 – AxelH

+0

これを試してみてください。['output = output.replaceAll(" [^ - ] * - neo4j - (\\ d +)。* " 、 "$ 1"); '](https://ideone.com/j2npFZ) –

答えて

1

これはregex101でテストされ、単純な正規表現である:私はこれのJAVAのバージョンを提供することはありません

(\w+)-neo4j-(\d+) 

ieatenmpca06-のNeo4j-2

Match 1 
Full match 0-20 `ieatenmpca06-neo4j-2` 
Group 1. 0-12 `ieatenmpca06` 
Group 2. 19-20 `2` 

、あなたの質問ではありません十分に完了します。

+0

私が望んでいた正確な成果と偉大な仕事をした。 –

関連する問題