邯郸做网站推广找谁,wordpress自动修改图,深圳市建设工程交易服务中心网,网站后台管理权限设计正则表达式 1.基本元字符2.拓展元字符3.正则判断~ 1.基本元字符
字符功能示例^行首定位符^love$行尾定位符love$.匹配单个字符l…e*匹配前导符0到多次ab*love.*匹配任意多个字符#xff08;贪婪匹配#xff09;ab.*love[]匹配方括号中任意一个字符[lL]ove[-]匹配指定范围内的… 正则表达式 1.基本元字符2.拓展元字符3.正则判断~ 1.基本元字符
字符功能示例^行首定位符^love$行尾定位符love$.匹配单个字符l…e*匹配前导符0到多次ab*love.*匹配任意多个字符贪婪匹配ab.*love[]匹配方括号中任意一个字符[lL]ove[-]匹配指定范围内的一个字符[a-zA-Z0-9]ove[^]匹配不在指定组里的字符[^a-z0-9]ove\用来转义元字符love\.\词首定位符\love\词尾定位符love\
练习
[rootlocalhost ~]# cat test.txt
Love
love
loveyou
aaabbblove
a123love
www.love.com
i love you
do you love me//以lo开头
[rootlocalhost ~]# grep ^lo test.txt
love
loveyou
[rootlocalhost ~]# grep -i ^lo test.txt //-i不区分大小写
Love
love
loveyou//以me结尾
[rootlocalhost ~]# grep me$ test.txt
do you love me//匹配单个字符一个.代表一个字符
[rootlocalhost ~]# grep y.u test.txt
loveyou
i love you
do you love me
[rootlocalhost ~]# grep l.e test.txt
[rootlocalhost ~]# grep l..e test.txt
love
loveyou
aaabbblove
a123love
www.love.com
i love you
do you love me//匹配前导符0到多次前导符是a 即*前面a有0次到多次
[rootlocalhost ~]# grep a*l test.txt
love
loveyou
aaabbblove
a123love
www.love.com
i love you
do you love me//贪婪匹配匹配任意多个字符即*的前导符是a. 但是.可以匹配任意单个字符
[rootlocalhost ~]# grep a.*l test.txt
aaabbblove
a123love//匹配中括号中任意一个字符
[rootlocalhost ~]# grep a[0-9]l* test.txt
a123love//匹配指定范围内的一个字符
[rootlocalhost ~]# grep a[0-9a-z]l* test.txt
aaabbblove
a123love//匹配不在指定组里的字符
[rootlocalhost ~]# grep a[^0-9] test.txt
aaabbblove//转义匹配
[rootlocalhost ~]# grep www\. test.txt
www.love.com
[rootlocalhost ~]# cat ./test.txteof
l*o*v*e
eof
[rootlocalhost ~]# grep * test.txt
[rootlocalhost ~]# grep \* test.txt
[rootlocalhost ~]# l*o*v*e
//单引号和双引号这里作用相同
[rootlocalhost ~]# grep * test.txt
[rootlocalhost ~]# l*o*v*e
[rootlocalhost ~]# grep * test.txt
[rootlocalhost ~]# l*o*v*e2.拓展元字符
示例在grep正则过滤
字符功能示例匹配一次或多次前导字符[a-z]ove?匹配零次或一次前导字符lo?vea|b匹配a或blove|hatex{m}字符x重复m次o{5}x{m,}字符x重复至少m次o{5,}x{m,n}字符x重复m到n次o{5,10}()字符组
3.正则判断~
[rootlocalhost ~]# num11
//运用正则判断需要[[ ]]
//注意^在[]内表示取反^在[]外表示以什么开头
//~ 用于正则表达式匹配
[rootlocalhost ~]# [[ $num1 ~ ^[0-9] ]] echo yes || echo no
yes
[rootlocalhost ~]# [[ $num1 ~ [^0-9] ]] echo yes || echo no
no[rootlocalhost ~]# num31b1
[rootlocalhost ~]# [[ $num3 ~ ^[0-9] ]] echo yes || echo no
yes
[rootlocalhost ~]# [[ $num3 ~ ^[0-9]$ ]] echo yes || echo no
no //num3是纯数字这里才会是yes
[rootlocalhost ~]# [[ $num3 ~ [^0-9] ]] echo yes || echo no
yes
[rootlocalhost ~]# [[ $num3 ~ ^[^0-9] ]] echo yes || echo no
no
[rootlocalhost ~]# [[ $num3 ~ ^[0-9][a-z][0-9]$ ]] echo yes || echo no
yes//或
if [[ $num3 ~ ^[0-9]$ ]];then echo yes ;else echo no; fi[rootlocalhost ~]# num1.6
[rootlocalhost ~]# [[ $num ~ ^[0-9]\.[0-9]$ || $num ~ ^[0-9]$ ]] echo yes || echo no //输入的只能是数字(包括小数)
yes
[rootlocalhost ~]# [[ $num ~ . echo yes || echo no
yes //1.6作为字符串被匹配