正则表达式
规则记录
\d 匹配一个数字字符。等价于
[0-9]
\D 匹配一个非数字字符。等价于
[^0-9]
。. 通配符,可以匹配任意字符.
? 表示量词“零个或一个”
+ 表示量词“一个或多个”。
{} 花括号中的数字表示待查找的数字出现的次数
\w 匹配字母、数字和下划线。等价于
[_a-zA-Z0-9]
\W 匹配非单词字符。等价于
[^_a-zA-Z0-9]
\s 匹配空白符。等价于
[ \t\n\r]
。制表符\t
换行符\n
回车符\r
-
\S 匹配非空白字符 。等价于
[^ \t\n\r]
。- \f 换页符
- \h 水平空白符
- \H 非水平空白符
- \n 换行符
- \r 回车符
- \s 空白符
- \S 非空白符
- \t 水平制表符
- \v 垂直制表符
- \V 非垂直制表符
* **\b** 匹配单词边界
基础
匹配电话号码 ** 707-827-7019 **
707-827-7019
/[\d-]/g
/[0-9]/g-
捕获分组和后向引用
要创建捕获分组,先将一个\d放在一对圆括号中,这样就将它放入了一个分组中,后面可以用\1来对捕获的内容进行后向引用
(\d)\d\1 匹配的是 707
(\d)匹配第一个数字并将其捕获(数字7); \d匹配第二个数字(数字0)但没有捕获,因为没有括号; \1对捕获的数字进行反向引用(数字7)。
另一种语法来匹配电话号码:
**\d{3}-?\d{3}-?\d{4}**
**(\d{3,4}[.-]?)+**
**(\d{3}[.-]?){2}\d{4}**
- (\(\d{3}\)|\d{3}[.-]?)?\d{3}[.-]?\d{4}$