次の形式で電話番号を検証しようとしています。xxx-nnn-yyyy 以下のメッセージが表示されて動作しない理由がわかりません。\b が間違っているようです。これまでに見つけられなかった同様の問題が記述されている場所へのヘルプ/提案/修正/指示をありがとう.
/AndroidRuntime(3143): Caused by: java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 6:
/AndroidRuntime(3143): ^\\(?([0-9]{3})\\)?[-]?([0-9]{3})[-]?([0-9]{4})
/AndroidRuntime(3143): ^
/AndroidRuntime(3143): at java.util.regex.Pattern.compileImpl(Native Method)
temp = phone.getText().toString();
if (temp.length() == 0) {
Toast.makeText(getApplicationContext(), "Phone number is missing", Toast.LENGTH_SHORT).show();
}else {
Log.i(TAG, "Matching Phone Short");
Pattern p = Pattern.compile("^\\\\(?\b([0-9]{3})\\\\)?[-]?([0-9]{3})[-]?([0-9]{4})\b");
Matcher m = p.matcher(temp) ;
if (m.find()){
Log.i("RC OK", "ret code GOOD");
}else{
Log.i("RC NOK", "ret code BAD");
}