Linux 正则表达式

目录

1.正则表达式

1.基本的正则表达式

2 . 扩 展 的 正 则 表 达 式

 sed工具


正则表达式有什么用?最基本的爬虫会用到,正则表达式简单来说就是匹配字符串的

比如:你匹配所有图片的链接地址  <img src="------(图片链接地址)">   比如、abc/def

URL:在WWW上,每一信息资源都有统一的且在网上的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位器),它是WWW的统一资源定位标志,就是指网络地址

正则表达式和通配符不一样!

通配符只能匹配文件名

正则表达式的功能十分强大,可以匹配字符串

1.正则表达式

正则表达式是处理字符串的方法,他是以行为单位来进行字符串处理的行为,通过一些特殊符号的辅助,可以让使用轻易的达到 搜索/删除/取代某特定字符串的处理程序。
正则表达是一种表示方法,工具程序支持这种表示方法,则可以用 正则表达式来进行字符串的处理。例如:vi、grep(搜索以abc开头的行)、awk、sed等
补充:grep命令
功能:用于查找文件中包含有指定字符串的行
常用的参数选项:-v :列出不匹配的行
                             -n:每个匹配行只按照相对行号显示

用途:分析日志、简单的垃圾邮件过滤(比如广告)、软件(系统)配置等等

规范:

正则表达式拥有不同的规范,POSIX规范,Perl规范,Python规范等(perl规范和Python其实无太大差别), Shell中的grep、egrep都使用POSIX规范。POSIX规范包括:

1.基本的正则表达式

  POSIX字符:POSIX字符类是一个形如[:...:]的特殊元序列,他可以用于匹配特定的字符范围。

 搜索指定字符串(以grep命令,搜索regular.txt文件为例)

"Open Source" is a good mechanism to develop programs.
apple is my favorite food.
Football game is not use feet only.
this dress doesn't fit me.
However, this dress is about $ 3183 dollars.
GNU is free air not free beer.
Her hair is very beauty.
I can't finish the test.
Oh! The soup taste good.
motorcycle is cheap than car.
This window is clear.
the symbol '*' is represented as start.
Oh! My god!
The gd software is a library for drafting programs.
You are the best is mean you are the no. 1.
The world <Happy> is the same with "glad".
I like dog.
google is the best tools for search keyword.
goooooogle yes!
go! go! Let's go.
# I am VBird
建一个regular文件

 含有字符的搜索

注意这两个匹配的方式:为什么有两个中括号要搞懂

grep –n  ‘[^[:lower:]]oo ’ regular.txt

grep –n   ‘[^[:digit:]]’ regular.txt
指定开始、结尾字符串的搜索 (以grep命令,搜索regular.txt文件为例)
一定要区分^和中括号里面的^区分开,一个代表行首,一个代表取反

 

含 有 任 意 、 重 复 字 符 的 字 符 串 搜 索 ( 以 grep 命 令 , 搜 索 regular.txt文件为例)
.    :一定有一个任意字符
*   :重复前一个字符,0到多次,注意0

grep –n  ‘o*’ regular.txt(可以一个o也不包含)
grep –n   ‘ oo*’ regular.txt(最少包含一个o)
给定字符范围的字符串搜索 (以grep命令,搜索regular.txt文件 为例)
‘{}’能够指定字符个数,但‘{}’在shell中有特殊意义,因此 需要使用转移字符‘\’ 。

 正则表达式与通配符的区别

通配符 是bash 操作接口的一个功能
正则表达式 是一种字符串处理的表示方式。
例如:
通配符中, *代表0~无限多个字符, 而正则中*标识重复前一个字符多次
通配符中,?表示任意一个字符, 正则中则用’.’表示

. 扩 展 的 正 则 表 达 式

grep 仅支持基础正则表达式,如果要使用扩展正则表达式,一般使 用egrep, 或 grep -E。

例如: 标准正则: grep -v '^$’ regular_express.txt l grep -v ‘^#’
用扩展正则表达式替换为: egrep -v '^$|^#’regular_express.txt

 

 sed工具

sed 命令是利用脚本来处理文本文件。
sed 可依照脚本的指令来处理、编辑文本文件。
sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、 编写转换程序等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能边缘探索记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值