第6章 正则表达式-【千锋教育】Linux Shell自动化运维(慕课版)
2023-03-21
|
33页
|
205人阅读
|
0人下载
教辅
资源信息
| 学段 | 中职 |
| 学科 | 职教专业课 |
| 课程 | 程序设计基础 |
| 教材版本 | - |
| 年级 | 高三 |
| 章节 | - |
| 类型 | 课件 |
| 知识点 | - |
| 使用场景 | 同步教学 |
| 学年 | 2023-2024 |
| 地区(省份) | 全国 |
| 地区(市) | - |
| 地区(区县) | - |
| 文件格式 | PPTX |
| 文件大小 | 1.56 MB |
| 发布时间 | 2023-03-21 |
| 更新时间 | 2023-04-09 |
| 作者 | 北京千锋互联科技有限公司 |
| 品牌系列 | - |
| 审核时间 | 2023-03-21 |
| 下载链接 | https://m.zxxk.com/soft/38208010.html |
| 价格 | 3.00储值(1储值=1元) |
| 来源 | 学科网 |
|---|
内容正文:
第6章 正则表达式
正则表达式概念
正则表达式元字符
正则表达式语法
正则表达式运算符优先级
正则表达式匹配规则
grep命令
学习目标
了解
熟悉
熟练
掌握
了解正则表达式概念
1
熟练正则表达式运算符优先级
4
2
熟悉正则表达式元字符
3
掌握正则表达式语法
销售额 掌握知识 理解知识 熟悉知识 了解知识 2.5 2.5 2.5 2.5
正则表达式概念
6.1
正则表达式元字符
6.2
正则表达式语法
6.3
☞点击查看本小节知识架构
☞点击查看本小节知识架构
正则表达式运算符优先级
6.4
☞点击查看本小节知识架构
正则表达式匹配规则
6.5
☞点击查看本小节知识架构
grep命令
6.6
☞点击查看本小节知识架构
正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE),又称规则表达式。正则表达式就是处理字符串的方法,以行为单位进行字符串的处理行为,通过一些特殊符号的辅助,让用户达到查找、删除、替换等目的。例如,Perl就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由UNIX中的工具(如sed和grep)普及开的。正则表达式通常缩写成regex,单数有regexp、regex,复数有regexps、regexes、regexen。
6.1 正则表达式概念
正则表达式是对字符串进行操作的一种逻辑公式,就是用事先定义好的一些特定字符,组成一个“规则字符串”,用这个“规则字符串”来完成对字符串的一种过滤操作。
正则表达式用于在查找过程中匹配指定的字符。在大多数程序里,正则表达式都被置于两个正斜杠之间,例如,/I[oO]ve/就是由于斜杠界定的正则表达式,斜杠匹配被查找的行中任何位置出现的相同内容。在正则表达式中,元字符是重要的概念。
6.2 正则表达式元字符
正则表达式由普通字符和元字符(Metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,元字符表达的是不同于字面本身的含义。元字符通常由各种执行模式匹配操作的程序(如:vi、grep、sed、awk、python)来解析,下面会给予解释。
在最简单的情况下,一个正则表达式看上去就是一个普通的查找模式。例如,正则表达式“testing”中没有包含任何元字符,它可以匹配“testing”和“testing123”等字符串,但不能匹配“Testing。”
想真正的用好正则表达式,正确的理解元字符是很有必要的。元字符描述如表6参考教材6.2节。
6.3 正则表达式语法
正则表达式是由普通字符(如字符a到z)及特殊字符(称为“元字符”)组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
要想达到熟练使用正则表达式元字符,就要掌握最基本的语法模式匹配。语法匹配描述如表参考教材6.3节。
构建正则表达式的方法和数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式可以是单个字符、字符集合、字符范围、字符间的等任意组合。
6.4 正则表达式运算符优先级
正则表达式从左到右进行计算,并遵循优先级顺序,这与算术表达式非常类似。相同优先级的正则表达式从左到右进行运算,不同优先级的正则表达式运算先高后低。运算符优先级顺序如表参考教材6.4节。
6.5 正则表达式匹配规则
6.5.1
基本模式匹配
返回目录
6.5.2
字符簇
6.5.1 基本模式匹配
模式是正则表示式最基本的元素,它是一组描述字符串特征的字符组成的字符集,用于匹配字符串。
例如:
6.5 正则表达式匹配规则
这个模式包含一个特殊的字符^,表示该模式只匹配那些以love开头的字符串。该模式与字符串“lovewe”,与“I love you”不匹配。正如^符号表示开头一样,$符号表示用来匹配那些以给定模式结尾的字符串。
6.5.1 基本模式匹配
这个模式与“policeman”匹配,与policy不匹配。字符^和$同时使用时,表示精确匹配(字符串与模式一样)。例如:只匹配字符串“bash”。
6.5 正则表达式匹配规则
稍微复杂的字符,如标点符号和白字符(空格、制表符等),要用到转义符。所有的转义序列都用反斜杠(\)打头。制表符的转义序列是:\t。如果要检测一个字符串是否以制表符开头,可以用如下模式:
类似地,用“
”表示“新行”,“\r”表示“回车”。
6.5.2 字符簇
在程序中,要判断输入的电话号码、地址、E-MAIL地址、信用卡号码等是否有效,用普通基于字面的字符是不够的。因此,需要使用相应的字符模式的方法描述,它就是字符簇。具体表示如下:
6.5 正则表达式匹配规则
这个模式与任何字符匹配,
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。