全局匹配函数使用格式
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次 |
| | 模式选择符 或 |
( ) | 模式单元,通俗来说就是,想提取什么内容,就在正则中用小括号将其括起来 |
import re
string = 'aliyun1231code'
pat = '\d'
# 主要是使用 re.compile(正则表达式).findall(源字符串)
print(re.compile(pat).findall(string))
基础3
贪婪模式:尽可能多地匹配,默认模式
懒惰模式:尽可能少地匹配,精准模式
如果出现以下两种组合,则代表为 懒惰模式 *? +?