正则表达式是什么?
正则表达式(Regular Expression),又称规则表达式,它是对字符串操作的一种逻辑公式,即用事先定义好的一些特定字符以及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
例如,在python中,"\d\d\d\d-\d\d-\d\d"是一个用来匹配日期的正则表达式。
正则表达式可以用来做什么?
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1. 检查给定的字符串是否符合正则表达式的过滤逻辑,即能否匹配;
2. 可以通过正则表达式的匹配,从字符串中提取或替换特定的部分。
正则表达式的语法
在正则表达式中:
字母和数字表示他们自身。
多数字母和数字前加一个反斜杠时会拥有不同的含义。
标点符号只有被转义时才匹配自身,否则它们表示特殊的含义。
反斜杠本身需要使用反斜杠转义。
由于正则表达式通常都包含反斜杠,所以最好使用原始字符串来表示它们。模式元素(如 r'\t',等价于 '\\t')匹配相应的特殊字符。
1. 一般字符
2. 特殊字符
2.1 用于匹配内容
注:所有特殊字符在字符集 […] 中都失去其原有的特殊含义。若要在字符集中使用 ^ 、- 或 ] ,可以在这些字符前加反斜杠,或把 - 、 ] 放在第一个字符,把 ^ 放在非第一个字符。
2.2 用于限定匹配次数
注:这五种模式既可以用在一个字符之后,也可以用在一个分组(…)之后。
2.3 用于限定边界
2.4 用于分组、条件逻辑及特殊情况
注:除以上所列字符模式外,还有部分较为复杂的字符模式,本篇中省略。
在python中,通过内置的 re 模块 来使用正则表达式,它提供了所有正则表达式的功能。
re 模块中的 compile 函数 根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。
下一篇中,详细讲解 re 模块 的使用。
------------------- End -------------------
https://mp.weixin.qq.com/s/aw0sc6Sn34QAQfa7WbaaKw