{channel.title!channel.name} - 楚淮公司周东林

正则表达式.点*星号?问号具体区别

今天看了下正则表达式表自己在 shell 里输入了下把常用到的容易混淆的三个写下来,以便时间长了翻阅。


元字符 . * + ?

.  点可以匹配任何一个除换行符以外的字符

* 星号匹配前面的字符一次或者零次,如下

[root@zhoudl opt]# ls|awk '/myy*/'
mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar
mysql-5.7.22-el7-x86_64.tar.gz
mysql-community-client-5.7.22-1.el7.x86_64.rpm
mysql-community-server-5.7.22-1.el7.x86_64.rpm
myyyyyyysssss
shellmysql.sh

? 问号匹配前面的表达式一次或者零次

[root@zhoudl opt]# ls|awk '/myy?/'
mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar
mysql-5.7.22-el7-x86_64.tar.gz
mysql-community-client-5.7.22-1.el7.x86_64.rpm
mysql-community-server-5.7.22-1.el7.x86_64.rpm
myyyyyyysssss
shellmysql.sh

+ 加号匹配前面的正则表达式一次或者多次,意思最少要匹配一次

[root@zhoudl opt]# ls|awk '/myy+/'
myyyyyyysssss

* 星号只匹配一个字符,+ 加号和 ?号匹配前面整个表达式 。

没事百度正则表达式网站多练练,我喜欢在 linux 命令符下练,因为我习惯玩虚拟机。


浏览.发表于:2018-09-30 16:44:00