:正規表現でワイルドカードの一致部分を取得するにはどうすればよいですか?例えば
Pattern pattern = Pattern.compile("a(.*)b");
Matcher matcher = pattern.matcher("a19203b");
matcher.find();
System.out.println(matcher.group());
これは、文字列全体(a19203b
)をプリントアウトします。私が必要なのは19203
です。どうすればJavaでこれを手に入れることができますか?
(例えば、mod_rewriteのルールでは、私は$1
は私が必要とする文字列ですRewriteRule article/(.*) article.php?id=$1
ような何かをするだろう)
真ですが、そのような副作用のためだけに 'find()'を呼び出さないでください。 'if'や' while'文の中では常にそれを呼び出す必要があります。その結果、実際に成功したかどうかを知ることができます。 –