正则表达式是什么?

    正则表达式(Regular Expression),又称规则表达式,它是对字符串操作的一种逻辑公式,即用事先定义好的一些特定字符以及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑

    例如,在python中,"\d\d\d\d-\d\d-\d\d"是一个用来匹配日期的正则表达式。


正则表达式可以用来做什么?

    给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

    1. 检查给定的字符串是否符合正则表达式的过滤逻辑,即能否匹配

    2. 可以通过正则表达式的匹配,从字符串中提取或替换特定的部分


正则表达式的语法

在正则表达式中:

    字母和数字表示他们自身。

    多数字母和数字前加一个反斜杠时会拥有不同的含义。

    标点符号只有被转义时才匹配自身,否则它们表示特殊的含义。

    反斜杠本身需要使用反斜杠转义。

    由于正则表达式通常都包含反斜杠,所以最好使用原始字符串来表示它们。模式元素(如 r'\t',等价于 '\\t')匹配相应的特殊字符。


1. 一般字符

正则表达式是什么?_java

2. 特殊字符

2.1 用于匹配内容

正则表达式是什么?_java_02

    注:所有特殊字符在字符集 […] 中都失去其原有的特殊含义。若要在字符集中使用 ^ 、- 或 ] ,可以在这些字符前加反斜杠,或把 - 、 ] 放在第一个字符,把 ^  放在非第一个字符。


2.2 用于限定匹配次数

正则表达式是什么?_java_03

    注:这五种模式既可以用在一个字符之后,也可以用在一个分组(…)之后。


2.3 用于限定边界

正则表达式是什么?_java_04


2.4 用于分组、条件逻辑及特殊情况

正则表达式是什么?_java_05


    注:除以上所列字符模式外,还有部分较为复杂的字符模式,本篇中省略。


    在python中,通过内置的 re 模块 来使用正则表达式,它提供了所有正则表达式的功能。

    re 模块中的 compile 函数 根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。

    下一篇中,详细讲解 re 模块 的使用。


------------------- End -------------------

https://mp.weixin.qq.com/s/aw0sc6Sn34QAQfa7WbaaKw