以下に示すidParserは、passedUrl文字列内の数字を見つけられません。Java正規表現がMy Charクラスを見つけられない
01-05 11:27:48.532: D/WEBVIEW_REGEX(29447): Parsing: http://mymobisite.com/cat.php?id=33
01-05 11:27:48.532: D/WEBVIEW_REGEX(29447): idParse: No Matches Found.
相続人annnndトラブルのブロック: はここLod.dのためのLogCat出ています。 (http://docs.oracle.com/javase/tutorial/essential/regex/char_classes.html)
Log.d("WEBVIEW_REGEX", "Parsing: "+passableUrl.toString());
Matcher idParser = Pattern.compile("[0-9]{5}|[0-9]{4}|[0-9]{3}|[0-9]{2}|[0-9]{1}").matcher(passableUrl);
if(idParser.groupCount() > 0)
Log.d("WEBVIEW_REGEX", "idParse: " + idParser.group());
else Log.d("WEBVIEW_REGEX", "idParse: No Matches Found.");
ノートでは、これは私が、私は(3つのモードすべてにhttp://www.regextester.com/index2.htmlで働くすべての検証)異なる構文の束を試してみた、今少しずさんになっていると私もドキュメントを見てきました。これは私の最終的な神経に乗り始めている。 使用
.find()
代わりに、グループの()のものは、単に「偽」生み出す...誰かが私はこの正規表現は、仕事を得るカント理由を理解するために私を助けることができますか?
乾杯!
あなたの正規表現は本当に畳み込まれています... \ d {1,5} 'は同じ効果があります! – fge
'System.out.println(Pattern.compile(" \\ d {1,5} ").matcher(" http://mymobisite.com/cat.php?id=33 ").find()); ' - >ここに' true'を出力します... – fge
@NiklasBaumstarkおそらく '.matches()'を意味しますが、残念ながらJavaは '.matches()'メソッドの名前を誤って入力します。正規表現マッチングの非常に定義 – fge