1. 正则表达式语法
正则表达式,是由普通字符和特殊字符组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。常见的正则表达式使用字符:
普通字符
- [ABC] 匹配[…]中的所有字符。如/[aeiou]/g 会匹配出字符串中的所有aeiou字符
- [ ^ABC] 匹配除[…]中的字符,如/[ ^aeiou]/g
- [A-Z] 匹配所有大写字母,/[A-Z]/g
- [a-z] 匹配所有小写字母
- [\s\S] 匹配所有。\s匹配所有空白符,包括换号。\S匹配所有非空白符
- \w 匹配所有的字母、数字、下划线,相当于/[A-Za-z0-9_]/g
非打印字符
- \cx 匹配由Control+x操作,或回车符
- \f 匹配翻页
- \n 匹配换号
- \r 匹配回车
- \s 匹配所有空白字符,包括空格、制表符、翻页符等,相当于[\f\n\r\v]
- \S 匹配所有非空白字符
- \t 匹配制表符
- \v 匹配垂直制表符
特殊字符
- $ 字符串末尾
- () 字符串开始和结束位置(匹配(和)需要使用(、))
-
- 匹配0次或多次
-
- 匹配一次或多次,至少一次
- ?匹配0次或一次
- . 匹配换行符\n之外的所有单个字符
- [ 匹配一个中括号表达式的开始
- ^ 匹配字符串的开始位置,如果在方括号中使用,则指的是除这些之外的所有字符
- | 两项之中选择一个
限定符
-
- 0次、一次、或多次
-
- 1次或多次
- ? 0次或一次
- {n} 匹配连续出现n次,/oo{2}/g,匹配oo连续出现两次的位置
- {n,} 至少出现n次,/oo{2,}/g,匹配oo至少连续出现2次以上
- {n,m} 至少出现n次,最多m次
定位符
- ^ 匹配目标字符串的开始位置
- $ 目标字符串的尾部
- \b 匹配字符的边界
- \B 匹配非字边界。
选择
- | 用圆括号 () 将所有选择项括起来,相邻的选择项之间用 | 分隔
反向引用
反向引用,是用来匹配识别匹配的内容与第一个分组匹配的内容一致,表达式是 \1