2016-04-13 9 views
0

私のノベルティはJavaで、私は以下の文字列(以下)を持っています。私はそれをきれいにして、integer digitsだけを抽出しようとしています。私の目標を達成するために使用する正しいJavaの正規表現がどうなるか:Java Regexから整数を抽出する方法は?

元の文字列:uint32_t Count "77 (0x0000004D)"

所望の出力:77

私は正規表現でJavaのドキュメントを読んで試してみましたが、私はもっと混乱しました。ワード境界である

+1

を練習ようにあなたが学ぶあなたがhere以上より、正規表現を中心にプレイすることをお勧めしますが、パターンを指摘するためにいくつかのより多くの例を与えることができますか? –

+0

https://docs.oracle.com/javase/tutorial/essential/regex/groups.html –

答えて

0

あなたは"\\b"を悪用する可能性がありますD:私は、EEのエンジニアは、この派手なコーディングのトリックのためにカットされていないと思います

String regex = "\\b\\d+\\b"; 
Matcher m = Pattern.compile(regex).matcher("uint32_t Count \"77 (0x0000004D)\""); 
m.find(); 
System.out.println(m.group()); //output 77 

"\\d+"は数字の部分文字列を見つけ、"\\b"とそれを囲むと、そのことを保証します別の単語/シンボルに埋め込まれていません。

0

パターンを得るための例がありますが、あなたが与えたものではありますが、与えられたパターンとグループをマッチさせたシンプルな正規表現について考えることができます。

(["](\d{1,})) 

私はあなたが

関連する問題