正则表达式

定义

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。

*	匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
+	匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。
.	匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。
[	标记一个中括号表达式的开始。要匹配 [,请使用 \[。

https://www.runoob.com/regexp/regexp-syntax.html
https://www.runoob.com/python/python-reg-expressions.html

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

正则表达式

1、re.match 函数
从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功,则返回none。
re.mathch(pattern, string, flags=0)

2、re.search() 函数
扫描整个字符串并返回第一个成功的匹配
re.search(pattern, string, flags=0)

3、re.compile函数
编译正则表达式,生成一个表达式(pattern)对象,供mathch()和search()这两个函数使用
pattern = re.compile(pattern[,flags])

import re
pattern = re.compile(r'')


基本:
1、
+:前面的字符出现 >=1;
*:前面的字符出现 >=0;

  • 和 + 限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个 ? 就可以实现非贪婪或最小匹配。
    例: <.*?>

?:前面的字符出现 0/1;

.:匹配任何单字符;

{n}:匹配n次;
{n,}:匹配>=n次;