java - 在 Java 中匹配\a574322 的正则表达式

标签 java regex

我有一个看起来像这样的长字符串:\c53\e59\c9\e28\c20140326\a4095\c8\c15\a546\c11 我需要找到以\a 开头并后跟数字的表达式。例如:\a574322 而且我不知道如何构建它。我不能使用:

Pattern p = Pattern.compile("\\a\\d*");

因为\a 是正则表达式中的特殊字符。 当我尝试这样分组时:

Pattern p = Pattern.compile("(\\)(a)(\\d)*");

即使有偶数个括号,我也会收到未闭合的组错误。 你能帮我解决这个问题吗?

非常感谢大家的解决方案。

最佳答案

你可以使用这个正则表达式:

\\\\a\\d+

Code Demo

因为在 Java 中,您需要对 \\ 进行两次转义,一次用于字符串,第二次用于正则表达式引擎。

关于java - 在 Java 中匹配\a574322 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25796709/

相关文章:

Python根据条件拆分字符串

java - 只要 ServerSocket 空闲,Linux 上的 Tomcat6 就会使用 100% 的 CPU

java - 在Spring中如何向多个用户发送带有附件的电子邮件

java - 我应该使用什么结构来存储键和可能值的列表?

java - 无法让 ProgressDialog 显示在 android 中

java - 在java中按负数移位

javascript - 使用 RegEx 进行 JavaScript 字符串参数编码

java - 正则表达式获取括号外的字符串

python - 整数和整数的正则表达式?

PHP 正则表达式 : caseless modifier for part of the expression