当前位置: 首页> 文旅> 酒店 > 商务网站建设与维护(专21春)_中国建筑人才网简介_全网营销式网站_网络营销师证书需要多少钱

商务网站建设与维护(专21春)_中国建筑人才网简介_全网营销式网站_网络营销师证书需要多少钱

时间:2025/8/23 22:22:45来源:https://blog.csdn.net/weixin_48089507/article/details/142691751 浏览次数:0次
商务网站建设与维护(专21春)_中国建筑人才网简介_全网营销式网站_网络营销师证书需要多少钱

正则表达式

一、正则表达式介绍

​ 正则表达式是一个描述字符串集合的模式/规则

​ 正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本、

​ 正则表达式由普通字符和元字符组成

​ 普通字符具有自身的字符意义

​ 元字符具有特殊意义

​ grep支持两种正则表达式:

​ 基本正则表达式

​ 扩展正则表达式

一)基本正则表达式

​ 元字符分类

​ 匹配操作符

​ 重复操作符

# 测试文本
[root@localhost ~]# cat test.txt 
ooxx12121212ooxx
ooxx 12121212
oox 12121212
1212 ooxx 1212
oo3xx
oo4xx
ooWxx
oomxx
$ooxx

​ 匹配操作符

​ \ 转意操作符,恢复元字符原有的字面意义

[root@localhost ~]# grep '\$' test.txt                 
$ooxx

​ . 匹配任意单个字符

[root@localhost ~]# grep '..xx' test.txt 
ooxx12121212ooxx
ooxx 12121212
1212 ooxx 1212
oo3xx
oo4xx
ooWxx
oomxx
$ooxx

​ [] []中包含一个字符序列来匹配单个字符

[root@localhost ~]# grep '[123]' test.txt
ooxx12121212ooxx
ooxx 12121212
oox 12121212
1212 ooxx 1212
oo3xx

​ ^ 匹配一行字符串的起始位置

[root@localhost ~]# grep '^ooxx' test.txt   
ooxx12121212ooxx
ooxx 12121212

​ $ 匹配一行字符串的结束位置

[root@localhost ~]# grep '\$' test.txt                 
$ooxx

​ \< 匹配一个单词的起始位置

[root@localhost ~]# grep 'ooxx\>' test.txt 
ooxx12121212ooxx
ooxx 12121212
1212 ooxx 1212
$ooxx

​ \> 匹配一个单词的结束位置

[root@localhost ~]# grep 'ooxx\<' test.txt

​ 重复操作符

​ * 重复前面的项零次或多次

[root@localhost ~]# grep 'o*x' test.txt 
ooxx12121212ooxx
ooxx 12121212
oox 12121212
1212 ooxx 1212
oo3xx
oo4xx
ooWxx
oomxx
$ooxx

二)扩展正则表达式

​ 元字符分类

​ 匹配操作符

​ 重复操作符

​ 对于grep默认执行支持基本正则表达式,如果想使用扩展正则表达式需要使用\转义扩展正则表达式的元字符

[root@localhost ~]# cat test.txt 
ooxx12121212ooxx
ooxx 12121212
oox 12121212
1212 ooxx 1212
oo3xx
oo4xx
ooWxx
oomxx
$ooxx

​ 匹配操作符

​ | 连接操作符:或

[root@localhost ~]# grep 'ooxx\|xxoo' test.txt
ooxx12121212ooxx
ooxx 12121212
1212 ooxx 1212
$ooxx

​ () 选择操作符

[root@localhost ~]# grep '\(12\)' test.txt
ooxx12121212ooxx
ooxx 12121212
oox 12121212
1212 ooxx 1212

​ \n 引用操作符

​ 重复操作符

​ ? 重复前面的项零次或一次

[root@localhost ~]# grep '\(12\)\?' test.txt
ooxx12121212ooxx
ooxx 12121212
oox 12121212
1212 ooxx 1212
oo3xx
oo4xx
ooWxx
oomxx
$ooxx

​ + 重复前面的项一次或多次

[root@localhost ~]# grep '\(12\)\+' test.txt  
ooxx12121212ooxx
ooxx 12121212
oox 12121212
1212 ooxx 1212

​ {n} 重复前面的项n次

[root@localhost ~]# grep 'ooxx\{1\}' test.txt
ooxx12121212ooxx
ooxx 12121212
1212 ooxx 1212
$ooxx

​ {n,} 重复前面的项n次到多次

[root@localhost ~]# grep 'ooxx\{1,\}' test.txt
ooxx12121212ooxx
ooxx 12121212
1212 ooxx 1212
$ooxx

​ {n,m} 重复前面的项n次到m次

[root@localhost ~]# grep 'ooxx\{1,2\}' test.txt
ooxx12121212ooxx
ooxx 12121212
1212 ooxx 1212
$ooxx

三)正则表达式实战

​ 正则表达式匹配网址

grep -n '^http://www\.\abcd\.com$' url

​ 正则表达式匹配邮箱地址

# 找出所有合规的邮件地址
grep --color  '^[a-zA-Z0-9_]\+[.-]*@[a-zA-Z0-9]\+\.[a-zA-Z]\+'  email# 找出所有不合规的邮件地址
grep -E '^[^a-zA-Z0-9_]*@' email

​ 正则表达式匹配IP地址

grep -E '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' ip
关键字:商务网站建设与维护(专21春)_中国建筑人才网简介_全网营销式网站_网络营销师证书需要多少钱

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: