当前位置: 首页 > 知识库问答 >
问题:

正则表达式的转义序列无效

池兴邦
2023-03-14

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

public static final boolean isValidPhoneNumber(CharSequence target) {

    if (target == null || TextUtils.isEmpty(target)) {
        Pattern numberPattern = Pattern.compile("^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1})?([0-9]{10})$");
        Matcher numberMatcher = numberPattern.matcher(target);
        return numberMatcher.matches();
    }

    return false;
}

共有1个答案

萧宁
2023-03-14

你的反斜线需要转义--

Pattern numberPattern = Pattern.compile("^((\\+){0,1}91(\\s){0,1}(\\-){0,1}(\\s){0,1})?([0-9]{10})$");

这是因为Java使用\字符作为转义字符,要告诉它您真正的意思是\而不是转义字符,您必须编写\\

 类似资料:
  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

  • 转义字符串以在正则表达式中使用。 使用 String.replace() 来转义特殊字符。 const escapeRegExp = str => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); escapeRegExp('(test)'); // \\(test\\)

  • 我正在搜索正则表达式-"。(冲突的副本。"。我为此写了以下代码 但我有个例外 异常在线程"main"中java.util.regex.Pattern Syn的异常:索引15附近的未关闭组。( 我知道编译器认为是模式组的开始。我试图通过添加来逃避),但这不起作用。 有人能告诉我怎么逃走吗?

  • 下面是我正在使用的正则表达式的最新版本,它抛出了错误“Invalid regular expression” XSD:正则表达式在位置4验证失败:当前选项设置不支持此表达式。 我在xsd文件中得到了这个异常,我正在message broker(IIB)中开发这个xsd。有谁能帮我解决这个问题吗?

  • 问题内容: 当匹配某些字符(例如换行符)时,可以使用正则表达式“ \\ n”或仅使用“ \ n”。例如,以下将字符串拆分为行数组: 但是以下内容同样适用: 我的问题: 上面两个是 完全 一样地工作,还是有细微的差别?如果是后者,能否举个例子,说明您得到不同的结果? 还是仅在[可能/理论]表现上有所不同? 问题答案: 在当前情况下没有区别。通常的字符串转义序列是在单个反斜杠的帮助下形成的,然后有效的

  • 问题内容: 我认为这是一个简单的问题。 我正在尝试使用正则表达式在JavaScript中搜索另一个字符串中某个字符串的出现,如下所示: 由于角色原因,这不起作用。…我尝试使用进行转义,但这也不起作用。还有另一种使用字面方式代替特殊字符的方法吗? 问题答案: 您需要用两个反斜杠将其转义