从无到有,学习python的第16天

it2023-09-27  75

从无到有,学习python的第16天

正则表达式

一.正则语法

什么是正则表达式

正则表达式是一种工具;一种专门用做字符串匹配的工具,能够在某些情况下让字符串的处理变得非常简单

正则是用来描述字符串规则

fullmatch(正则表达式,字符串)- 判断正则表达式是否和字符串完全匹配,如果不匹配返回None

正则表达式的语法

普通字符:普通字符在正则表达式中表示这个符号本身
. : 匹配任意一个字符
\d : 匹配任意一个数字字符
\D :匹配任意一个非数字字符
\s : 匹配任意一个空白字符
\S : 匹配任意一个非空白字符
\w : 匹配任意一个数字、字母、下划线
[字符值] : 匹配字符集中出现得任意一个字符
[^字符集] : 匹配不在字符集中的任意一个字符

检测符号

\b : 检测是否是单词边界 单词边界 :所有能够区分出两个不同单词的符号
\B : 检测是否不是单词边界
^ : 检测是否是字符串开头
$ : 检测是否是字符串结尾

匹配次数

*:0或多次
+:1次或多次
?:0次或一次
{}:{N} 匹配到N次 {M,N}匹配M到N次 {M,}匹配至少M次 {,N}匹配最多N次
贪婪和非贪婪

在匹配次数不确定的时候匹配模式有两种:贪婪(默认)和非贪婪(在不确定次数后面加?)

贪婪:在能匹配成功的前提下,匹配次数选最多的(+、、?、{M,N}、{M,}、{,N}) 非贪婪:在能匹配成功的前提下,匹配次数选最少的(+?、?、??、{M,N}?、{M,}?、{,N}?)

分组

用法一:整体操作 a{2,3} (ab){2,3}

用法二:重复 \M - 重复前面第M个分组中匹配到的内容

用法三:捕获 re中的findall在获取子串的时候,如果正则中有分组,只会获取分组匹配到的结果

最新回复(0)