perl regular expresstion

sed -n -r ; -n表示quiet, 只输出匹配结果; -r表示使用正则表达式

 

re:

* 匹配任意

? 匹配0,1

+ 匹配>=1

 

 

[]: 匹配其中任意字符;中括号内的连续字符可以使用-, 0-9表示0,1,2,3,4,5,6,7,8,9

[^]: 匹配非中括号中的任意字符

echo "def" | sed -n -r "/d[eE]f/p"         输出:def

echo "def" | sed -n -r "/d[a]f/p"           输出:无

 

/b:  匹配单词边界

echo "defgh" | sed -n -r "//bdef/p"      输出:defgh

echo "defgh" | sed -n -r "/def/b/p"      输出:无

 

/B: 匹配单词内部, 用法基本同上

 

^, $分别匹配行首与行尾

 

字符转义:

/d  数字         /D  数字外的字符

/w 单词字符   /W 非单词字符.(包括数字。。sed试过)

/s  空白          /S 非空白

 

.  匹配出/n之外的任意字符

 

{n, [m]} 匹配n次到m次;

/de{1,3}f/ 将会匹配def, deef, deeef

 

| 或, /def|ghi/ 将匹配def 或者 ghi

 

 

() 分组。 通过/n引用第n组

echo "abc.com" | sed -n -r "/(/w+).(/w+)/p"  其中有两个组, 第一个组匹配abc, 第2个组匹配com

模式匹配选项

g: 匹配所有可能模式

i:    忽略大小写

m:  将串视为多行

s:   将串视为单行

x:   忽略所有空白

 

肯定否定匹配

/abc(?=string)/匹配abc后为string的模式, 返回的是abc

/abc(?!string)/ 匹配abc后不是string的模式, 返回的是abc

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值