1、匹配数字
123-123-1234 匹配:
[0-9] 匹配0-9任意数字
[0,1,3] 只匹配0,1,3三个数字
[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9]
简写模式:
\d 代表0-9任意数字
\d \d \d -\d \d \d -\d \d \d \d 和上面效果一样
可以用\D来匹配任意非数字字符
\d\d\d\D\d\d\d\D\d\d\d\d
可以用点号代替任意字符(有些情况下不行)
\d\d\d.\d\d\d.\d\d\d\d
使用量词:包含数字的花括号是一种量词,括号里标示出现的次数,花括号本身标示元字符
\d{3}-?\d{3}-?\d{4}
其中?是另外一种量词,在以上表达式中连词符是可选的,也就是说连词符可以不出现或者只能出现一次,还有其他的连词符,+标示一个或多个,*标示零个或者多个
所以可以有如下表达式:
(\d{3,4}[-.]?)+
上面这个只能匹配3位或者4位数字,而不管是不是电话号码
咱们重新写个
(\d{3}[-.]?){2}\d{4}
下面标示一个 第一个三位数可以带括号也可以不带括号,表示区号
^(\(\d{3}\)|^\d{3}[.-]?)?\d{3}[.-]?\d{4}$
出现在正则表达式起始位置或者竖线(|)之后的脱字符^,标示电话号码会出现在一行的起始位置
其中左括号 (标示捕获分组的开始
\(标示左括号本身
\)标示右括号本身
|标示从多个选项中选一个,换句话说,它表示匹配一个不带括号的区号或者一个带括号的区号
$标示匹配行的结束位置
\w 匹配单词文本,只匹配数字、字母、下划线
\s 匹配 \r\n\t空格
.{8} 匹配任意字符