一 Regular expression(正则表达式) RE
正则表达式对字符串操作的 5-12位 的
用事先定义好的一些特定字符,及这些特定字符的组合,组成一个规则字符串 ,这个规则字符10000 12数字组合
1.长度 2.是否是0开头 3 是否是
2.正则表达式的作用和特点
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1 给定的字符串是否符合正则表达式的过滤原则(匹配)
2 可以通过正则表达式,从字符串中获取我们想要的特定部分
3.正则表达式的特点
1 灵活性 逻辑性和功能性非常强,
2 .可以迅速的拥挤简单的方式达到字符串的复杂控制
3.对于刚接触的人来说,比较晦涩难懂
4.场景:
如何判断一个字符串是手机号?
判断邮箱为163或者126的所有邮件地址
假如你在写一个爬虫,你得到了一个网页的HTML源码。其中有一段
二 用户名可以是字母或数字,不能是数字开头,用户名长度必须6位以上【0-9a-zA-Z]
username =’ 001admin’
result = re.match(‘[a-zA-Z][0-9A-Za-z]{5,0}$’),username)
print(result)
2)re.match 和re.search 的区别
一个找到就停 一个就全文找
re.match 要加$ 到尾结束
re.seaerch 要加^和$ 从头到尾
‘’’
三总结:
.任意字符(\n)
^开头
$ 结尾
【】 范围
正则预定义:
\s 空白(空格)
\b 边界
\d数字
\w word( 0-9 a-z A-Z)
如果r‘’就可以省略转义字符
大写 反面 \S 非空格 \P 非数字 。。。
'\w[0-9]
量词:
*>=0
+>=1
? 0,1
四手机号码正则 re.match(‘1[35789]\d{9}$’,phone)
{m}: 固定m位
{m,}: >=m
{m,n} phone >= m phone<=n