Python正则 re.findall

re.findall(匹配的规则,被匹配的字符串)

匹配整个字符串,能找出全部的匹配项,返回值为列表类型。

re.findall() 使用时,如果正则表达式中有括号()时(划分出分组),会把每一个组匹配的结果返回,而不是匹配的整体。

我们可以把整个正则表达式用 ( ) 括起来,这样就能返回值可就有匹配整体的结果了。

元字符匹配

#字符串前面带r的标记,表示字符串中转义字符无效,就是普通的字符

元字符描述说明
^该元字符在方括号外表示匹配字符串的开头,用于改变匹配起始位置
在方括号内表示对方括号内的内容“取非”,如 [^0-9] 表示匹配单个非数字字符
$该元字符放在正则表达式末尾位置,表示匹配字符串的末尾,^和$可用于匹配起始位置
.匹配除换行符(\n)以外的任意单个字符
?该修饰符用于其它修饰符后面,表示匹配模式为非贪婪的
|或者的意思,如 a|b 匹配字符 a 或者字符 b
不用圆括号进行分组时会影响整个正则表达式,如 abc|bcd 匹配字符abc或字符串bcd
[ ]只匹配满足方括号内正则表达式的单个字符,
如 [abc] 只匹配字符 a 或字符 b 或字符 c
[ ^]匹配排除方括号内单个字符,
[^abc] 匹配除字符 a、 b、 c以外的其它字符
( )将满足圆括号内的正则表达式的字符串划分为一个组(group),便于分组分类
\w匹配单个的单词字符,其中单词字符是指:数字字符、字母字符(不区分大小写)及下划线字符
\W匹配单个的非单词字符
\s匹配单个空白字符,空白字符包括空格、换行符\n、横向制表符\t、\r、换页符\f 等
\S匹配单个非空白字符
\d匹配单个数字字符
\D匹配单个非数字字符
\b匹配单词字符串的边界,指单词字符串贴着非单词字符的部分
如 on\b 可以匹配 Python 中的 on,但不能匹配 none 中的 on
\B匹配非单词字符串边界
\Z放于正则表达式末尾,匹配字符串是否结束
\A放于正则表达式起始,匹配字符串是否开始
\n匹配单个换行符,类似的还有 \t、\r、\f 等
\num引用前面已经划分好的组,num 为一个正整数,代表组号
[A-B] 或 [A-BC-D] 等匹配单个字符,字符在 ASCII 字符集中的对应码位于字符 A 到字符 B 之间(包括 A 与 B)
如:[0-9] 匹配单个数字;
[a-z] 匹配单个小写字母;
[!-@] 匹配标点符号及数字;
[a-zA-Z] 匹配单个字母字符;
[!-/:-@] 匹配标点符号;注:[a-Z] 会报错!
RE*匹配任意个连续的 RE
RE+匹配1个或多个连续的 RE
RE?匹配 0 个或 1 个 RE,非贪婪方式(见示例说明部分)
RE{n}匹配 n 个连续的 RE
RE{n,m}匹配 n 个到 m 个连续的 RE,省略 m(即 RE{n,} )则表示匹配 n 个及 n 个以上(无具体上限)连续的 RE
(?flags:RE)flags 代表修饰符,可在圆括号中(该分组)使用 i、m、x 等可选标志(必须小写),而不影响其它部分
(?-flags:RE)flags 代表修饰符,可在圆括号中(该分组)取消使用 i、m、x 等可选标志(必须小写),而不影响其它部分
(?#note)note 表示注释的内容,整个(?#note)代表注释,不影响匹配,只起解释说明作用
(?:RE)按顺序命名组时,忽略该组(即,一般非捕获分组),匹配结果包含 RE
(?=RE)正向肯定预查(look ahead positive assert),匹配需满足 RE 正则表达式条件 匹配结果不包含 RE,且预查不消耗字符,下次匹配仍从 RE 开始
(?!RE)正向否定预查(look ahead negative assert),匹配需不满足 RE 正则表达式条件匹配结果不包含 RE,且预查不消耗字符,下次匹配仍从 RE 开始
(?<=RE) 
(?<!RE) 
正则表达式在线测试工具
人工服务

正则表达式付费代写、咨询、答疑解惑,专业、快速、高效帮您解决正则表达式方面的各种问题,可定制各类软件应用程序。

联系客服
正则表达式基础语法
. - 除换行符以外的所有字符。
^ - 字符串开头。
$ - 字符串结尾。
\d,\w,\s - 匹配数字、字符、空格。
\D,\W,\S - 匹配非数字、非字符、非空格。
[abc] - 匹配 a、b 或 c 中的一个字母。
[a-z] - 匹配 a 到 z 中的一个字母。
[^abc] - 匹配除了 a、b 或 c 中的其他字母。
aa|bb - 匹配 aa 或 bb。
? - 0 次或 1 次匹配。
* - 匹配 0 次或多次。
+ - 匹配 1 次或多次。
{n} - 匹配 n次。
{n,} - 匹配 n次以上。
{m,n} - 最少 m 次,最多 n 次匹配。
(expr) - 捕获 expr 子模式,以 \1 使用它。
(?:expr) - 忽略捕获的子模式。
(?=expr) - 正向预查模式 expr
(?!expr) - 负向预查模式 expr

在线客服QQ:543690914,备案号: 苏ICP备15037649号-32。东海县白塔埠镇佳诚电脑经营部版权所有。