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

标签 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() :)

最佳答案

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

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

(感谢所有在评论中指出错误的人)

关于java - 字符串java正则表达式中的多个反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41012353/

相关文章:

Java 按键事件 : how to read in two keys at once

.net - 正则表达式替换捕获后跟数字

regex - 按姓氏字母顺序对字符串元胞数组进行排序

c++ boost正则表达式哪个元素为真

ruby - 如何使用正则表达式按 HTML 标签拆分

android - 在 Kotlin 中使用正则表达式获取字符串中模式的索引

java - 在 Java spark ml 中创建自定义转换器

java - 在 JBoss AS 中部署的 2 个 Java EE 应用程序之间共享 session

java - 来自数据库的 jfreechart 散点图

java - 如何修复 “Incorrect string value for the column at the row 1”错误?