正则表达式

一、正则表达式

正则表达式:元字符 regular expression
[root@localhost lianxi2]# cat sc.html | egrep “.jpg|.png” egrep 支持扩展正则的过滤
<img src=wgyc.png width=“400” >
<img src=luogan.png width=“400” >
<img src=xiayuzhen.jpg width=“400” >
[root@localhost lianxi2]#

元字符:
^ ^在[ ]中起反向选择的作用,早[]外面是以……开头的作用
$ 表示以什么结尾
? 表示前面的字符出现0或者1次
+ 表示前面的字符出现一次以上
* 表示前面,,,,出现0次或者任意次
^$ 代表空行
. 代表任意单个字符
{ } 表示括号前字母出现多少次
()表示一个整体
\ 转义字符
| 或者
\s是指空白
{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格。

junjie*
junjie?
^junjie+
^junjie{2,4}
wang$

[root@localhost lianxi2]# cat sc.html | egrep “p>$”
<p>address: hunan.changsha.furong</p>
<p>teacher feng PhoneNO: 18908495097</p>
<p>teacher feng wechat: 18908495097</p>

什么是正则
使用一些特殊符号+数字和字母按照某个规则组合来表示这个意思就是正则表达式
正则用在那里?
查找的场景适合使用正则
还有文本三剑客(awk grep sed)
为什么需要使用它?
查找的场景

[root@localhost lianxi2]# rm -rf wangyutao* 通配符

[root@localhost lianxi2]# echo wangyuuuuuuutaoooooo |egrep “wangyu*”
wangyuuuuuuutaoooooo 元字符
[root@localhost lianxi2]#

python —>爬虫
图片:.jpg .png .gif deng
总结图片的共性问题

写正则表达式就是找规律和共性问题

grep 通用正则表达式分析程序
-i 不区分大小写 ignore case
-n 输出行号
-o 只是显示匹配的内容
-v 取反 invert
-A after 在…之后几行
-B before 在…以前
-C center(中心) context 上下文
-r 文本查找
-E 扩展 extended regexp
egrep = grep -E

[root@VM-12-8-centos lianxi]# cat name.txt |egrep “^[^0-9]”
[^0-9]非数字
^[^0-9] 不是以数字开头的行

[root@VM-12-8-centos ~]# cat name.txt | grep -A2 "lizhuofu"
LIZHUOFU  lizhuofu123  12345lizhuofu
xiaomi  hauwei
XIAOMI  xiaomi11123+2   sc@123.com
--
LIZHUOFU  lizhuofu123  12345lizhuofu
xiaomi  hauwei
XIAOMI  xiaomi11123+2   sc@123.com
[root@VM-12-8-centos ~]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值