第一章—正则表达式(简介/动机)
简介/动机
基本介绍
正则表达式regex:
是一些由字符和特殊符号组成的字符串,它们描述了模式的重复或者表述多个字符,于是正则表达式能按照某种模式匹配一系列有相似特征的字符串。
解决的问题:
正则表达式的出现使得我们可以通过编程使计算机具有在文本中检索某种模式的能力。
实际应用举例
- 通过计算机程序,查看某时间段内所有发送和接受的邮件
- 删除某一特定主题的邮件
python对正则表达式的支持
通过标准库中的re
模块可以支持正则表达式
搜索和匹配的比较
匹配(matching):用于严格讨论与字符串中模式相关的正则表达式时,指的是“模式匹配”(pattern-matching)。而用于python术语中,代表完成模式匹配(pattern-matching)的一种方法,也就是判断一个字符串能否从起始处全部或者部分地匹配某个模式,通过调用match()
函数或方法实现。
搜索(searching):用于python术语中,代表完成模式匹配(pattern-matching)的另一种方法,也就是在字符串任一部分搜索匹配的模式,通过调用search()
函数或方法实现。
第一个正则表达式
概念回顾:正则表达式是包含字符和特殊符号的字符串,用来描述一个可以识别符合各种字符串的模式。
正则表达式的字母表:对于通用文本,用于正则表达式的字母表是所有大小写字母、数字以及一些特殊符号的集合
简单的正则表达式
正则表达式模式 | 匹配的字符串 |
---|---|
foo | foo |
Python | Python |
abc123 | abc123 |
上面三个模式都没有涉及特殊符号和字符,所以只能匹配所描述的内容,也就是本身。 | |
正则表达式的强大之处在于引入特殊字符来定义字符集、匹配自组合重复模式。正式由于这些特殊符号,使得正则表达式可以匹配字符串集合,而非是单个字符串。 |