正则表达式含义
语法 | 含义 |
---|---|
. | 点可代表一切字符 |
\ | 起转义作用 |
[…] | 指代方括号中的任意字符 |
d | 指代数字0-9 |
D | 指代非数字 |
s | 指代一切空格,包括tab制表符、空格、换行等 |
S | 指代非空格 |
w | 指代大小写字母、数字和下划线 |
W | 指代非大小写字母、数字和下划线 |
* | 匹配前面字符0次及以上 |
+ | 匹配前面字符1次及以上 |
? | 匹配前面字符0次或1次 |
{m} | 匹配m次 |
{m,n} | 匹配m到n次 |
{m,} | 至少匹配m次 |
re.findall()
re.findall (pattern, string [, flags])
返回string中与pattern匹配的所有未重叠的值,包括空匹配值。如果模式包含分组,将返回与分组匹配的文本列表。如果使用了不只一个分组,那么列表中的每项都是一个元组,包含每个分组的文本。
flags解释:
标志 | 描述 |
---|---|
A 或 ASCII | 执行仅8位ASCII字符匹配(仅适用python3) |
I 或 IGNORECASE | 执行不区分大小写的匹配 |
L 或 LOCALE | 为\w、\W、\b和\B 使用地区设置 |
M 或 MULTILINE | 将 ^ 和 \$ 应用于包括整个字符串的开始和结尾的每一行(在正常情况下,^ 和 $ 仅适用于整个字符串的开始和结尾) |
S 或 DOTALL | 使点(.)字符匹配所有字符,包括换行符 |
U 或 UNICODE | 使用\w、\W、\b和\B在Unicode字符属性数据库中的信息(仅限与python2。python3默认使用Unicode) |
X 或 VERBOSE | 忽略模式字符串中未转义的空格和注释 |
注: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
正则表达式基本用法
r 的意思是“原生字符串”,后面是正则语句
regular_v1 = re.findall(r"docs","https://docs.python.org/3/whatsnew/3.6.html")
regular_v1
['docs']
匹配以 ^ 后面内容为开始的字符串,如果不是,返回空的 list
regular_v2 = re.findall(r"^https","https://docs.python.org/3/whatsnew/3.6.html")
regular_v2
['https']
regular_v2 = re.findall(r"^docs","https://docs.python.org/3/whatsnew/3.6.html")
regular_v2
[]
匹配以 $ 前面内容为结束的字符串,如果不是,返回空的 list
regular_v3 = re.findall