0

我得到了这个 Javascript 电话正则表达式: /^([\+][0-9]{1,3}[ \.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/

字符串“063-444-444”成功通过。

我试图将其转换为 Java:

^([\\+][0-9]{1,3}[ \\.\\-])?([\\(]{1}[0-9]{2,6}[\\)])?(\\[0-9 \\.\\-\\]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$ 

相同的字符串在 Java 中失败。怎么了?

4

1 回答 1

4

你没有正确地逃脱它。您无需转义字符类周围的方括号 ([和)。]

尝试:

^([\\+][0-9]{1,3}[ \\.\\-])?([\\(]{1}[0-9]{2,6}[\\)])?([0-9 \\.\\-\\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$
于 2012-04-26T09:33:30.123 回答