1.使用句点匹配单字符
句点”.“可以匹配任意单字符。
例如:
如果要匹配一个字符串,以beg开头,中间夹一个任意字符,那么可以表示为beg.n
在ls -l命令中,可以匹配一定的权限 ...x..x..x : ls -l |grep ...x..x..x
2.在行首以^匹配字符串或字符序列
^只允许在一行的开始匹配字符或单词
例如:
使用ls -l命令,并匹配目录:ls - l |grep ^d
可以将各种模式混合使用: ^...4XC.... 得到类似1234XC9088的结果
行首前4个字符为comp,匹配操作表示为 ^comp
3.在行尾以$匹配字符串或字符
$与^正好相反,它在行尾匹配字符串和字符,$符号放在匹配单词后
例如:
假定要匹配以单词trouble结尾的所有行,操作为:trouble$
匹配所有空行,操作为: ^$
匹配只有一个字符的行: ^.$
4.使用*匹配字符串中的单子或其重复序列
使用此特殊字符匹配任意字符或字符串的重复多次表达式
例如:
compu*t将匹配字符u一次或多次,结果可能为computer,computing,compuuuuute
10133*匹配到:101333,10133,1013344444
5.使用\屏蔽一个特殊字符的含义
以下字符为特殊字符:$ . ' " * [] ^ | () \ + ?
假定要匹配包含字符” . “的各行,而.代表匹配任意单字符的特殊字符,因此需要屏蔽其含义:\.
此时,反斜杠后面的字符为普通字符,句点
如果要匹配以*.pas结尾的所有文件,操作为:\*\.pas
6.使用[]匹配一个范围或集合
使用[]匹配特定字符串或字符串集,使用-表示一个字符串范围
例如:
匹配任意一个数字可以用:[0123456789]也可以用:[0-9]
任意小写字母[a-z]
任意字母[A-Za-z]
7.使用\{\}匹配模式结果出现的次数
使用*可匹配所有结果任意次,但是如果要指定次数,就应使用\{\},该模式有三种形式:
pattern\{n\}:匹配模式出现n次
pattern\{n,\}:匹配模式至少出现n次
pattern\{n,m\}:匹配模式出现n到m次之间
例如:
要匹配前4个字符是数字,接下来是xx,最后4个也是数字,操作为:[0-9]\{4\}xx[0-9]\{4\}
经常使用的正则表达式: