我正在尝试以格式验证电话号码;xxx-nnn-yyyy 发出以下消息,我无法弄清楚为什么它不起作用。ii 似乎 \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");
}