Android正则表达式总是返回false

时间:2011-10-22 19:48:33

标签: java regex matcher

6 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

答案 2 :(得分:0)

我不知道android但这个正则表达式:

Pattern p = Pattern.compile("\\W");

将匹配任何字母数字字符。如果你要扩展它,它将如下所示:

[^a-zA-Z0-9_]

如果您想匹配包含_的单个字母数字字符,请使用:

Pattern p = Pattern.compile("\\w");

否则使用:Pattern p = Pattern.compile("[a-zA-Z0-9]");

答案 3 :(得分:0)

如果您想要匹配所有字母数字字符的常规快递,请尝试[a-zA-Z0-9]*。如果您想匹配字符串中的所有非字母数字字符,请尝试\\W*

答案 4 :(得分:0)

答案 5 :(得分:0)

\W(或作为java字符串文字,"\\W")匹配一个非单词字符。 matches()方法隐含地在两端锚定匹配,就像您真的写了"\\A\\W\\z"一样。因此,如果字符串包含完全一个非单词字符,那么您将只获得匹配。如果要匹配一个或多个字符,则应将正则表达式更改为

"\\W+"