普通字符:匹配与之相同的字符
字母、数字、汉字、下划线、没有特殊定义的标点符号。
简单的转义字符:
\n |
换行符 |
\t |
制表符 |
\\ |
代表\本身 |
\^,\$,\.,\(,\),\{,\},\?,\+,\*,\|,\[,\] |
匹配这些字符本身 |
标准字符集合:与多种字符相匹配的表达式
注:区分大小写,大写即相反的意思
\d |
任意一个数字,0-9之间 \D:任意一个不是数字的字符 |
\w |
任意一个字母或数字或下划线,A~Z、a~z、0~9、_ |
\s |
空格、制表符、换行符等空白字符中任意一个 |
. |
小数点可以匹配任意一个字符(除换行符),若要匹配包括“\n”在内,用“[\s\S]” |
自定义字符集合:[ ]方括号匹配方式,匹配方括号中任意一个字符
[ab5@] |
匹配“a”/“b”/“5”/“@”,或的关系即取∪ |
[^abc] |
匹配“a”“b”“c”之外的任意字符 |
[f-k] |
匹配“f~k” |
[^A-F0-3] |
匹配除“A~F”,“0~3” |
注:正则表达式的特殊符号,被包含到中括号中,失去特殊意义(^,-除外)
标准字符集合,除小数点外,如果被包含于中括号,自定义字符集合将包含该集合。
[\d.\-+] 匹配:数字、小数点、+、-
量词
{n} |
表达式重复n次 |
{m,n} |
表达式至少重复m次,最多重复n次 |
{m,} |
表达式至少重复m次,无{,n}形式 |
? |
匹配表达式0次或1次,相当于{0,1} |
+ |
表达式至少出现1次,相当于{1,} |
* |
表达式不出现或出现任意次,相当于{0,} |
注:匹配次数中的贪婪模式(匹配字符越多越好,是默认模式)
匹配次数中的非贪婪模式(匹配字符越少越好,修饰匹配次数的特殊符号后再加上一个“?”号)
字符边界 零宽度(匹配不到字符)
匹配的不是字符而是位置,符合某种条件的位置
^ |
与字符串开始的地方匹配 |
$ |
与字符串结束的地方匹配 |
\b |
匹配一个单词边界 |
注: \b 匹配这样一个位置:前面的字符和后面的字符不全是\w
^i: i的左侧是一个字符串开始的地方
i$:i的右侧是字符串结束的位置
匹配模式
选择符和分组
反向引用(\nnn)
预搜索(零宽断言/环式断言)
匹配内容本身不计入匹配结果