正则表达式(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 函数 根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。 ------------------- End ------------------- |
|