全局匹配函数使用格式

re.comple(正则表达式).findall(源字符串)

基础1

普通字符 正常匹配
\n 匹配换行符
\t 匹配制表符
\w 匹配字母、数字、下划线
\W 匹配除字母、数字、下划线
\d 匹配十进制数字
\D 匹配除十进制数字
\s 匹配空白字符
\S 匹配除空白字符
[ab89x] 原子表,匹配ab89x中的任意一个
[^ab89x] 原子表,匹配除ab89x以外的任意一个字符

基础2

普通字符 正常匹配
. 匹配除换行符外任意 一个字符
^ 匹配开始位置
$ 匹配结束位置
* 前一个字符出现 0\1\多次
? 前一个字符出现 0\1 次
+ 前一个字符出现 1\多次
{n} 前一个字符恰好出现 n次
{n,} 前一个字符至少出现 n次
{n,m} 前一个字符至少 n次,至多 m次
| 模式选择符 或
( ) 模式单元,通俗来说就是,想提取什么内容,就在正则中用小括号将其括起来
  1. import re
  2. string = 'aliyun1231code'
  3. pat = '\d'
  4. # 主要是使用 re.compile(正则表达式).findall(源字符串)
  5. print(re.compile(pat).findall(string))

基础3

贪婪模式:尽可能多地匹配,默认模式
懒惰模式:尽可能少地匹配,精准模式

如果出现以下两种组合,则代表为 懒惰模式 *? +?