字符串java正则表达式中的多个反斜杠

时间:2016-12-07 08:13:21

标签: java regex

所以我有一个字符串X1X2X3\\\\。我只想捕获AlphaNumerics值。我的正则表达式是([A-z0-9]*).*。但它会返回X1X2X3\\。我的代码如下所示:

Pattern pattern = Pattern.compile("([A-z0-9]*).*");
Matcher matcher = pattern.matcher(str);
matcher.matches();
return matcher.group(1);

想找到正则表达式的答案。不是String.replaceAll()或replace():)

1 个答案:

答案 0 :(得分:1)

问题出在A-z中的[A-z0-9],它也可以匹配非字母字符,即Za之间的代码点。

对于字母数字字符或预定义字符类[A-Za-z0-9],要使用的正确表达式为\\w

(所有那些在评论中指出错误的人都会得到荣誉)