正则表达式
基本元字符集及其含义:
元字符 | 含义 |
---|---|
^ |
只匹配行首 |
$ |
只匹配行尾 |
* |
一个单字符后紧着* ,匹配0个或多个此单字符 |
[] |
匹配[] 内字符,可以是一个单字符,也可以是字符序列,[^] 匹配非范围内的字符序列 |
\ |
转义,屏蔽一些元字符的特殊含义 |
. |
匹配任意单字符 |
pattern\{n\} |
用来匹配前面pattern出现的次数,n为次数 |
pattern\{n,\} |
含义同上,但次数最少为n次 |
pattern\{n,m\} |
含义同上,次数在n到m之间,n、m为0~255中任意整数 |
可以使用^$
来匹配一个空行,因为即匹配行首又匹配行尾,中间没有任何模式,因此为空行。
^.*$
可以匹配任意行,匹配一个任意字符并多次,并匹配行首行尾,因此为任意行。
$ . ' " * [ ] ^ | () \ + ?
这些可以被认为特殊字符,要匹配这些字符需要进行转义。
使用\{\}
匹配模式结果出现的次数
*
可以匹配结果任意次,但如果要指定次数,就应该使用\{\}
。如:
A\{2\}B
- 匹配值为:AAB,其匹配A两次并以B结尾。
A\{4,\}B
- 至少匹配A 4次,可以得到AAAAB、AAAAAB等等。
A\{2,3\}B
- 可以匹配到AAB、AAAB。