day0321正则表达式

一.正则表达式

1.定义一个规则,检测某一段字符串是否符合规则,将符合规则的字符匹配出来。

2.只和字符串相关

3.字符组

描述一个字符位置的内容

3.1    [012345]检测0,1,2,3,4,5

3.2    [0-5]检测从0到5

3.3    不能是[9-5],不能由大到小来规定范围。

3.4    字符组的所有范围是指向ascii

3.5    [A-Z0-9a-z]   这里无逗号,分隔符

4.元字符:优先级从左至右

元字符                               属性     
\d匹配数字digit
\w匹配字母或数字或下划线word
\s匹配任意空白(包括制表符,换行符,空格)space
\D匹配非数字
\W匹配非字母或数字或下划线
\S匹配非空白字符
\n匹配换行符
\t匹配制表符Tab
\b匹配一个单词结尾,开头结尾都可以
.匹配换行符之外的所有
^匹配字符串的开始
$匹配字符串的结束
()匹配括号内的表达式,也表示一个组
a|b匹配字符a或者b
[]匹配字符组内的字符
[^     ]匹配除了字符组的所有字符

5.量词

量词用法说明
*重复0次或者多次
+重复一次或更多次
重复0次或者1次
{n}重复n次
{n,}重复n次或者多次
{n,m}重复n到m次

 

示例匹配项
\d+\.\d+小数
[1-9]\d*|0整数
\d+\.\d+|([1-9]\d*|0)整数或小数
\d+\.?\d*整数或小数
\d+(\.\d+) 

注意:\d+\.\d*  这里会匹配出【1.】满足了条件  这样是不合理的。

5.贪婪匹配

在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配。

\*无线匹配
\+至少匹配一次
孙.{1,3}孙匹配最多三次(贪婪)

6.转义

r:在字符串前加r,让整个字符串不转义。

7.惰性匹配

手动设置,尽可能少的匹配。

示例            用法
a.*以a开头任意字符
a.*??控制.*  非贪婪取最少次
a.*x首个a与最后一个x,连同之间都取出来(回溯算法)
a.*?x首个a与首个x,连同之间都取出来

8.总结:

8.1 ret=sorted(list)      占内存,生成一个新的列表

8.2ret=reversed(list)      可迭代的iterator,用list包装

注意:list本身提供方法,对list自身进行修改。

   内置函数是在生成一个新的

8.3 random 不重复随机数据    

      choice   可能出现重复的数据

8.4

length//2===》abcabc》range(1,3)=》ab

length//2+1===》abcabc》range(1,4)=》abc

8.5

全球时间戳一样,只是结构化时间不一样  东八区北京和伦敦的时间区别

8.6

双端队列和列表区别:

效率——底层数据结构上 

8.9

repr函数:

repr() 函数将对象转化为供解释器读取的形式。(之前掉过坑  print没打印出换行符,但是加了repr就显示出来了)

 

转载于:https://www.cnblogs.com/Zhao159461/p/10572336.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值