有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

无效的Java正则表达式

我有一个正则表达式:

private final String CUSTOM_REGEX = "[679]\d{8}";

它应该表示从6、7或9开始的任何数字,这些数字还有八个。(即“611234392”、“782123842”或“934233875”)

然而,我得到了一个错误"Invalid scape sequence"

有什么提示吗


共 (2) 个答案

  1. # 1 楼答案

    String SPANISH_NUMBER_REGEX = "[679]\d{8}";
    

    \是字符串文字中的一个特殊字符,即转义字符。你需要避开它才能得到正确的结果:

    String SPANISH_NUMBER_REGEX = "[679]\\d{8}";
    
  2. # 2 楼答案

    使用以下命令:

    private final String SPANISH_NUMBER_REGEX = "[679]\\d{8}";
                                                      ^^
    

    为什么

    在字符串文字的Java中,必须用另一个\转义\,因为它本身是一个特殊字符,需要转义