所以我有一个字符串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() :)
最佳答案
问题出在 [A-z0-9]
中的 A-z
,它也可以匹配非字母字符,即 Z 之间的代码点
和 a
。
对于字母数字字符,正确使用的表达式是[A-Za-z0-9]
,或预定义的字符类\\w
。
(感谢所有在评论中指出错误的人)
关于java - 字符串java正则表达式中的多个反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41012353/