本系列是学习 廖雪峰 Python3 教程 过程中记录的笔记,本篇文章记录 Python
中的 正则表达式的用法,主要包括基础匹配规则、进阶匹配规则,re
模块的基本使用,通过后面的练习题发现,还是得多练,只能看会一些基本的表达式。
正则表达式
- 用一种描述性的语言来给 字符串 定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的;
匹配规则
符号 | 含义 |
---|---|
\d |
一个数字 |
\w |
一个数字 或 字母 |
. |
任意一个字符 |
* |
任意个字符(包括0个) |
+ |
至少一个字符 |
? |
0个 或 1个 字符 |
{n} |
n个 字符 |
{n, m} |
n–m 个字符 |
\s |
一个空格(包括Tab) |
\s+ |
至少一个空格 |
‘\’ | 转义字符,用来表示特殊字符 |
\d{3}\-\d{3,8} |
表示形如 010-12345678 的电话号码 |
进阶
符号 | 含义 |
---|---|
[0-9a-zA-Z\_] |
一个数字、字母或者下划线 |
[0-9a-zA-Z\_]+ |
至少由一个数字、字母或者下划线组成的字符串 |
[a-zA-Z\_][0-9a-zA-Z\_]* |
由字母或下划线开头,后接任意个由数字、字母或者下划线组成的字符串 |
A|B |
匹配 A 或 B |
^\d |
以数字开头 |
\d$ |
以数字结尾 |
^py$ |
只能整行匹配 py |
re 模块
-
切分:使用
re.split()
函数可以将复杂的规则用于字符串划分;import re print