无效 Java 正则表达式
Invalid Java Regex
我有这个正则表达式:
private final String CUSTOM_REGEX = "[679]\d{8}";
它应该代表从6、7或9开始的任何数字,再有八个数字。 (即“611234392
”、“782123842
”或“934233875
”)
但是,我收到一个错误 "Invalid scape sequence"
有什么提示吗?
使用以下内容:
private final String SPANISH_NUMBER_REGEX = "[679]\d{8}";
^^
为什么?
在 Java in String literal 你必须转义 \
一个 \
因为它本身是一个特殊字符,需要转义。
String SPANISH_NUMBER_REGEX = "[679]\d{8}";
\
是String字面量中的一个特殊字符,即转义符。您需要对其进行转义以获得正确的结果:
String SPANISH_NUMBER_REGEX = "[679]\d{8}";
反斜杠字符 \
用于引入转义结构,以及引用否则将被解释为非转义结构的字符。因此,表达式 \
匹配单个反斜杠,而 \{
匹配左括号。
来自官方 Oracle 文档:Backslashes, escapes, and quoting.
我有这个正则表达式:
private final String CUSTOM_REGEX = "[679]\d{8}";
它应该代表从6、7或9开始的任何数字,再有八个数字。 (即“611234392
”、“782123842
”或“934233875
”)
但是,我收到一个错误 "Invalid scape sequence"
有什么提示吗?
使用以下内容:
private final String SPANISH_NUMBER_REGEX = "[679]\d{8}";
^^
为什么?
在 Java in String literal 你必须转义 \
一个 \
因为它本身是一个特殊字符,需要转义。
String SPANISH_NUMBER_REGEX = "[679]\d{8}";
\
是String字面量中的一个特殊字符,即转义符。您需要对其进行转义以获得正确的结果:
String SPANISH_NUMBER_REGEX = "[679]\d{8}";
反斜杠字符 \
用于引入转义结构,以及引用否则将被解释为非转义结构的字符。因此,表达式 \
匹配单个反斜杠,而 \{
匹配左括号。
来自官方 Oracle 文档:Backslashes, escapes, and quoting.