正则表达式
- 1.正则表达式分类
- 2.基本正则表达式
- 3.扩展正则表达式
- 4.实例
1.正则表达式分类
正则表达式: REGEXP, REGular EXPress ion
正则表达式分为两类:
Basic REGEXP (基本正则表达式)
Extended REGEXP (扩 展正则表达式)
2.基本正则表达式
//元字符
. //任意单个字符
[] //匹配指定范围内的任意单个字符
[^] //匹配指定范围外的任意单个字符
//匹配次数(贪婪模式)
* //匹配其前面的人以单个字符任意次
.* //任意长度的任意字符
\? //匹配其前面的任意字符1次或0次
\+ //匹配其前面的任意单个字符至少一次
\{m,n\} //匹配其前面的人以单个字符至少m次,至多n次
//位置描述
^ //锚点行首,此字符后面的任意单个字符必须出现在行首
$ //锚定行尾,此字符后面的任意单个字符必须出现在行尾
^$ //空白行
\<或\b //锚定词首,此字符后面的任意单个字符必须作为单词首部出现
\>或\b //锚定词尾,此字符后面的任意单个字符必须作为单词尾部出现
//分组
\(\)
例:\(ab\)*
//后向引用
\1 //引用第一个左括号以及与之对应的右括号所包括的所有内容
\2 //引用第二个左括号以及与之对应的右括号所包含的所有内容
3.扩展正则表达式
//字符匹配
. //任意单个字符
[] //匹配指定范围内的任意单个字符
[^] //匹配指定范围外的任意单个字符
//匹配次数(贪婪模式)
* //匹配其前面的人以单个字符任意次
.* //任意长度的任意字符
\? //匹配其前面的任意字符1次或0次
\+ //匹配其前面的任意单个字符至少一次
\{m,n\} //匹配其前面的人以单个字符至少m次,至多n次
//位置描述
^ //锚点行首,此字符后面的任意单个字符必须出现在行首
$ //锚定行尾,此字符后面的任意单个字符必须出现在行尾
^$ //空白行
\<或\b //锚定词首,此字符后面的任意单个字符必须作为单词首部出现
\>或\b //锚定词尾,此字符后面的任意单个字符必须作为单词尾部出现
//分组
\(\)
//分组
() //分组
\1,\2,\3,……
例:(ab)*
//后向引用
\1 //引用第一个左括号以及与之对应的右括号所包括的所有内容
\2 //引用第二个左括号以及与之对应的右括号所包含的所有内容
//或者
| //or默认匹配|的整个左侧或整个右侧的内容
//例: C|cat表示C或者cat,要想表示Cat或者cat则需要使用分组,5如(C(C)at
4.实例
[root@ymm-xiaokeai ~]# ls | grep '.' //匹配任意单个字符
1
10.txt
11.txt
123
1.sh
1.txt
2020-03-18.log
[root@ymm-xiaokeai ~]# ls | grep '[ab]' //匹配a和b两个字符
abcd
anaconda-ks.cfg
backup.tar.gz
db-backup.sh
manman.repo
program
suan.sh
Watched
yang
[root@ymm-xiaokeai ~]# ls | grep '[^a]' //除a以外的所有字符
1
10.txt
11.txt
123
1.sh
1.txt
2020-03-18.log
22.txt
33.txt
[root@ymm-xiaokeai ~]# ls | grep '1*' //匹配所有1
1
10.txt
11.txt
123
1.sh