正则表达式详解(一、基础表达式)

"本文介绍了正则表达式的基础用法,包括^匹配行首,$匹配行尾,^$匹配空行,以及^abc$用于匹配独占一行的内容。同时讲解了和B在匹配单词边界时的作用,帮助读者理解如何在文本中精准定位特定词汇。"
摘要由CSDN通过智能技术生成

以网络配置文件为例,简单介绍基础用法:

标识说明举例
^

:表示锚定行首,此字符后面的任意内容必须出现在行首,才能匹配。

grep ^IP /etc/sysconfig/network-scripts/ifcfg-ens32

匹配以“IP”开头的行

$表示锚定行尾,此字符前面的任意内容必须出现在行尾,才能匹配

grep IP$ /etc/sysconfig/network-scripts/ifcfg-ens32

匹配以“IP”结尾的行

^$表示匹配空行,这里所描述的空行表示”回车”,而”空格”或”tab”等都不能算作此处所描述的空行

^abc$表示abc独占一行时,会被匹配到

grep ^NAME=\"ens32\"$ /etc/sysconfig/network-scripts/ifcfg-ens32

注意:引号要用 \" 转义

\<或者\b匹配单词边界,表示锚定词首,其后面的字符必须作为单词首部出现grep "\<NAME" /etc/sysconfig/network-scripts/ifcfg-ens32
\>或者\b匹配单词边界,表示锚定词尾,其前面的字符必须作为单词尾部出现

grep "no\>" /etc/sysconfig/network-scripts/ifcfg-ens32 -n

结果如下:
3:BROWSER_ONLY="no"
6:IPV4_FAILURE_FATAL="no"
10:IPV6_FAILURE_FATAL="no"
20:IPV6_PRIVACY="no"

将”\<“与”\>”结合在一起使用,只有当XXX是一个独立单词时候才会匹配到。

\B匹配非单词边界,与\b正好相反

grep "no\B" /etc/sysconfig/network-scripts/ifcfg-ens32 -n

结果如下:
2:PROXY_METHOD="none"
4:BOOTPROTO="none"

 “\b”是用来锚定词首、锚定词尾的,换句话说,”\b”是用来匹配”单词边界”的,而”\B”则正好相反, “\B”是用来匹配”非单词边界”的。

”\Bhello”表示,只要hello不是词首,就会被匹配到, 而”\bhello”表示,只要hello是词首,就会被匹配到,所以,”\B”与”\b”所要表达的意思正好相反。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值