正则表达式(Regular Expression),又称规则表达式.正则表达式通常被用来检索,替换符合一定规则的字符串
正则表达式的基本用法见下:
元字符:
[]:字符组,表示一个位置上可能出现的字符
\d:digit,表示数字 \D表示除数字外的所有字符
\w:word,表示字母数字下划线 \W表示除字母数字下划线的所有字符
\n:next,表示换行符
\t:tab,表示制表符
\s:space 表示空白符,包括换行符,制表符和空格 \S表示除空白符外的所有字符
.:表示除换行符外的所有字符
|:或
^:开头
$:结尾
():分组
[^]:表示此位置不能出现的字符
量词:
{n}:表示上一个元字符出现n次
{n,}:表示上一个元字符至少出现n次
{n,m}:表示上一个元字符出现n到m次
?:表示上一个元字符出现0-1次
+:表示上一个元字符出现1-若干次
*:表示上一个元字符出现0-若干次
其他:
分组的命名: 在括号开始时可以加?P<分组名>来对分组来进行命名;之后可以使用?=分组名或者\序号来进行匹配
分组的优先显示: 使用findall时,括号中的内容会被优先显示,导致显示不全,在括号的开头加上?:就可取消分组的优先显示
贪婪匹配: 正则表达式会默认匹配尽可能多的符合条件的字符,称为贪婪匹配;如果需要匹配尽量少的字符,则需要在量词后加?来进行惰性匹配