国际电话的正则表达式

时间:2014-06-05 15:08:40

标签: java regex

我无休止地搜索了一个只能与国际电话号码匹配的正则表达式:+436604433839。但是,当我用

添加约束时
@Pattern(regexp = "\+(9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)\d{1,14}$", message = "invalid phone")

我收到编译错误。我做错了什么?

1 个答案:

答案 0 :(得分:3)

在字符串中,您必须使用\转义\\

E.g。

String regex = "\d+";

成为

String regex = "\\d+";

单个\用于转义特殊字符,例如新行或标签(例如\n\t)。