正则表达式
正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。
搜索模式可用于文本搜索和文本替换。
正则表达式中的常用特殊符号
符号 | 含义 |
---|---|
\ | 转义字符,反斜杠如果在非特殊字符前表示下一个是非特殊字符,如果在特殊字符前表示下一个字符是非特殊字符 |
* | 匹配前一个表达式0次或者多次,等价于{0,} |
? | 匹配前一个表达式0次或者1次,等价于{0,1} |
+ | 匹配前一个表达式1次或者多次,等价于{1,} |
^ | 匹配输入的开始。如果多行标志被设置为 true,那么也匹配换行符后紧跟的位置。若^写在[]里面,则代表排除的意思 |
$ | 匹配输入的结束,如果多行标示被设置为 true,那么也匹配换行符前的位置。 |
. | 默认匹配除换行符之外的任何单个字符。如果 s (“dotAll”) 标志位被设为 true,它也会匹配换行符。 |
常用转义符(简写)
符号 | 含义 |
---|---|
\n | 匹配换行符 |
\d | 匹配0-9之间的任意一个数字 |
\D | 匹配除了\d |
\w | 匹配数字、字母和下划线(0-9 a-z A-Z _) |
\W | 匹配除了\w |
\s | 匹配空白字符 |
\S | 匹配除了\s(非空字符) |
正则表达式的常用方法
- test
匹配字符串,如果成功就返回真,失败则返回假,语法:正则.test(字符串),返回的是布尔值,用途是判断。 - search
匹配字符串,如果成功返回匹配成功的位置,如果失败就返回-1(类似indexOf),语法:字符串.search(正则) 。 - match
匹配字符串,如果成功返回数组,如果失败就返回null,语法:字符串.match(正则) - replace
匹配字符串,匹配成功的字符会替换成新的字符串,语法:字符串.replace(正则,新的字符串),第二个参数可以是字符串也可以是回调函数,回调函数的第一个参数就是每次匹配成功的字符。
更多参考MDN:MDN正则表达式