当前位置: 首页 > 面试题库 >

无效的转义序列

充栋
2023-03-14
问题内容
我想过滤掉所有单词,这些单词包含1个数字和3个大写字母,总长度为4。在这里查看我的示例: http

//gskinner.com/RegExr/?32taa

ArrayList result = new ArrayList ();

for(int i = 0; i <= 10; i++){

String message = resp.data.get(i).message;

Matcher m = MY_PATTERN.matcher("\b(?=[^\d]*\d[^\d]*)[A-Z\d]{4}\b");

    while (m.find()) {
        String s = m.group(1);
        result.add(s);
    }

}

但是,当我将我的regexp模式传递给matcher方法时,出现错误:

Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )

我需要换\d一封信吗?


问题答案:

您的代码有两个问题:

  • 您的格式错误,因为它允许更多位数-请参阅http://regexr.com?32u3e

  • Java需要双转义斜线…

使用正则表达式模式

\\b(?=[A-Z]*\\d[A-Z]*\\b)[A-Z\\d]{4}\\b


 类似资料:
  • 问题内容: 我正在尝试检查密码是否至少包含一个小写字母,一个大写字母,一位数字和一个特殊字符。 我正在尝试: 但给我一个错误的说法:无效的转义序列。 有人可以帮助我解决问题,并且可以确认这是正确的模式吗? 谢谢,\\ d不要执行错误,但是与Paul%88之类的字符串不匹配,为什么? 问题答案: Java将字符串内部视为开始转义序列。确保使用代替(以便在字符串中获得实际的字符)并且应该没问题。 快速

  • 我编写了一个regex来匹配下面的字符串类型,当我在regex matcher中联机检查它时,它正像预期的那样工作- 当我在lua块中使用这个来匹配字符串时,它会给我带来无效的转义序列错误。我转义了双引号,并试图用\转义regex中的特殊字符,但问题仍然存在。任何指针都有帮助。谢了!

  • 无效的转义序列(有效的转义序列是\b\t\n\f\r\“\'\\)

  • 问题内容: 我在Java中有一个正则表达式问题。 当我尝试使用此正则表达式时: 我收到以下错误 我不知道该如何处理该错误。我已经尝试过将反斜杠加倍,但没有成功。我希望有人可以帮助我。 谢谢 问题答案: 这应该工作 原因是错误消息中列出的符号具有特殊含义,但不是已定义的要使用的特殊符号之一,这意味着您必须对其进行转义(在符号前添加一个多余的符号)。

  • 我尝试用Java编写regex来匹配URL。我在互联网上找到了regex,它在在线regex编辑器中工作得很好。当我试图在eclipse上运行它时,它会给出以下错误:无效的转义序列(有效的转义序列是\B\T\N\F\R\\“\'\\) 我怎样才能解决这个问题?