• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2020-01-14 08:08 Aet 隐藏边栏 |   抢沙发  2 
文章评分 1 次,平均分 5.0

量词

一般形式

量词还可以表示不确定的长度,用m和n来表示。它限定前面的元素能够出现的次数,m是下限,n是上限。(均为闭区间)
如果不确定长度的上限,也可以省略,只指定下限,如:

量词限定的出现次数,一般都具有明确的下限,如果没有,则默认为0.最好用直观的0来表示下限。

量词 说明
{n} 之前的元素必须出现n次
{m,n} 最少m次,最多n次
{m,} 最少m次
{0,n} 可以不出现,也可以出现多次

常用量词

{m,n}是通用形式的量词,正则表达式还有3个常用量词,分别是+、?、*。

常用量词 等价形式 说明
+ {0,} 0到多次
{0,1} 至多出现1次或不出现
* {1,} 最少出现1次

数据提取

之前有提到过,如果匹配成功,会返回一个MatchObject的对象,这个对象包含了匹配的信息,比如表达式匹配的结果。

findall(regex,string)
会返回一个数组

点号

点号是一个特殊的元字符。
点号可以匹配“任意字符”(不包括\n)。

忽略优先量词

正则表达式提供了忽略优先量词的用法:*?

区别在于:
使用了忽略优先量词之后,在实际的匹配过程中,遇到[\s\S]可以匹配的字符,它会先尝试“忽略”掉,如果后面的元素不能匹配,在去匹配刚刚“忽略”掉的字符。

匹配优选量词 忽略优先量词 限定次数
* *? 可以出现可以不出现,次数不设限
+ +? 至少出现一次,次数不设限
? ?? 至多出现一次,也可能不出现
{m,n} {m,n}? 最少m次,最多n次
{m,} {m,}? 最少m次,最多不设限
{0,n} {0,n}? 可能不出现,最多出现n次

转义

就是加上反斜杠\

量词字符 转义形式
{n} \{n}
{m,n} \{m,n}
{m,} \{m,}
{0,n} \{0,n}
* \*
+ \+
? \?
*? \*\?
+? \+\?
?? \?\?

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2021-11-21
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享