一般北美电话号码的格式为:
999-999-9999
或者999x999x9999 (x表示任意字符)
用字符组来匹配:
[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]
用字符组简写式:
\d\d\d-\d\d\d-\d\d\d\d
括选文字符:
^(\(\d{3}\)|^\d{3}[.-]?)?\d{3}[.-]?\d{4}$
第一个^表示电话号码会出现在一行的起始位置
左括号{为捕获分组的起始符
\(表示左括号本身(转义字符)
\d匹配一位数字
\d后的{3}是量词,表示匹配三位数字
\}匹配右括号本身(转义字符)
|表示选择,也就是从多个可选项中选择多个
^匹配行起始位置
\d匹配一位数字
{3}表示匹配三位数字的量词
[.-]?匹配一个可选的点号或者连字符
右括号)为捕获分组的结束符
?表示分组可选,即分组中的前缀可有可无
\d匹配一位数字
{3}表示匹配三位数字的量词
[.-]?匹配另一个可选的点号或者连字符
\d匹配一位数字
{4}是表示匹配四位数字的量词
$匹配行结束位置
下面再说一个匹配北美电话号码的正则表示式&