正则表达式
^ 代表已XX开头 如果^[^0-9] 表示非0-9开头的 在中括号中 上档符表示非。
. 代表一个空的字符,例如: ...xx... 前3+xx+后3 的文件
. 匹配任意字符( 除换行符 )
$ 代表以XX结尾的 例如: conf$
* 匹配重复零次或多次前一字符
+ .匹配一个或多个前面的字符 它的作用和*很相似,但唯一的区别是它不匹配零个字 符的情况
? 匹配零或一个前面的字符。它一般用于匹配单个字符
^ 匹配一行的开头,但依赖于上下文环境,可能在正则表达式中表示否定一个字符 集的意思
[...] 匹配集合中任意字符 如"[xyz]" 匹配字符 x, y, 或z
[^...] 匹配不属集合 中 任意字符
^, $ 匹配 行首、行尾
使用*可匹配所有匹配结果任意次,但如果只要指定次数,就应使用\ { \ },此模式有三种
形式,即:
pattern\{n\} 匹配模式出现n次。
pattern\{n,\} 匹配模式出现最少n次。
pattern\{n,m} 匹配模式出现n到m次之间,n , m为0 - 2 5 5中任意整数。
请看第一个例子,匹配字母A出现两次,并以B结尾,操作如下:
A \ { 2 \ } B
匹配值为A A B
匹配A至少4次,使用:
A \ { 4 , \ } B
可以得结果A A A A B或A A A A A A A B,但不能为A A A B。
如给出出现次数范围,例如A出现2次到4次之间:
A \ { 2 , 4 \ } B
命令或环境 | . | [ ] | ^ | $ | \( \) | \{ \} | ? | + | | | ( ) |
vi | X | X | X | X | X | |||||
Visual C++ | X | X | X | X | X | |||||
awk | X | X | X | X | X | X | X | X | ||
sed | X | X | X | X | X | X | ||||
Tcl | X | X | X | X | X | X | X | X | X | |
ex | X | X | X | X | X | X | ||||
grep | X | X | X | X | X | X | ||||
egrep | X | X | X | X | X | X | X | X | X | |
fgrep | X | X | X | X | X | |||||
perl | X | X | X | X | X | X | X | X | X |