即使 “http://developer.android.com/reference/java/util/regex/Pattern.html”声明它不应该出现,我仍然遇到正则表达式始终返回false的问题。Android正则表达式总是返回false
我正在输入各种特殊字符“& $ @ R @”,并且b/b2在logcat中都返回false。我放入编辑文本的字符串甚至以logcat的形式显示为我输入的确切字符串。任何人都有一个想法,为什么它不会匹配字母数字字符?
代码:
EditText et1 = (EditText) findViewById(R.id.editText1);
String et1Text = et1.getText().toString();
int et1Length = et1.getText().toString().length();
EditText et2 = (EditText) findViewById(R.id.editText2);
String et2Text = et2.getText().toString();
int et2Length = et2.getText().toString().length();
Pattern p = Pattern.compile("\\W");
Log.d(TAG,et1Text);
Matcher m = p.matcher(et1Text);
boolean b = m.matches();
if (b == true){
Log.d(TAG,"True");
}
else {
Log.d(TAG,"False");
}
Log.d(TAG,et2Text);
Matcher m2 = p.matcher(et2Text);
boolean b2 = m2.matches();
if (b2 == true){
Log.d(TAG,"True");
}
else {
Log.d(TAG,"False");
}
if (et1Length < 4 | et1Length > 15 | et2Length < 4 | et2Length > 15){
Log.d(TAG,"Length dialog");
dialog(1);
}
if (b==true | b2==true){
Log.d(TAG,"Special char dialog");
dialog(1);
}
我试过这件事的第一件事。谢谢。如果有人对我为什么不应该使用这种语法有任何意见,请告诉我。谢谢。 –