一、正则元字符
是一些在正则表达式中有特殊用途、不代表它本身字符意义的一组字符。
1、 字符元字符
- […] :匹配列表中的任意字符
- [^…] :匹配不在列表中的任意字符
- . :匹配除了回车和换行符之外的任何字符
- w :元符号,相当于[a-zA-Z0-9_],匹配任何字母、数字、下划线字符,这样的字符也称为单词字符
- W :元符号,相当于[^a-zA-Z0-9_],匹配除了字母、数字、下划线字符之外的任何字符
- d :元符号,相当于[0-9],匹配任何单个的数字字符
- D :元符号,相当于[^0-9],匹配除了数字之外的任何单个字符
- s :元符号,匹配空白字符,空白字符是指空格、Tab字符和回车换行符
- S :元字符,匹配任何非空白字符
2、重复元字符(量词)
- x? :匹配0个或1个x。
- x+ :匹配1个或多个x。
- x* :匹配0个或多个x。
- x{n} :匹配n个x。
- x{n,} :匹配n个或多个x。
- x{n,m} :匹配n到m个x。
3、定位元字符
- ^ :匹配必须出现在字符串的开头或行的开头(开头)
- $ :匹配必须出现在以下位置:字符串结尾、字符串结尾处的 n 之前或行的结尾。(结尾)
- b :匹配单词的开始或结束
- B :匹配非单词的开始或结束
- x(?=y) :正向肯定预查。只有在x后面跟上y时,才匹配x成功。(正向等=)
- x(?!y) :正向否定预查。只有在x后面不跟着y时,才匹配x成功。 (正向不等!)
- (?
- (?
4、分组和替换字符
- x|y :匹配x或y
- (sub) :反向引用,将子表达式sub作为一个整体处理,括号的作用相当于代数中括号的作用。并将捕获的子匹配保存在1,2,……和$1,$2,……中。例如:
/a(bc)+/
中,加号元字符作用在子表达式bc
上,它匹配abc、abcbc,但是不匹配a和ac - (?:sub) :分组子模式,但是不捕获子模式。它的作用与(sub)类似,称为无记忆匹配
- 1,2,3,… :在正则表达式中,分别包含与正则表达式中第一个反向引用、第二个反向引用、第三个反向引用…相匹配的子串
- $1,$2,$3,… :在替换中,分别包含与正则表达式中第一个反向引用、第二个反向引用。第三个反向引用…相匹配的子串
5、特殊字符
特殊字符是指那些不容易进行直接书面表达或不容易直接使用键盘输入的字符。