你必须了解的正则表达式

1.什么是正则表达式

正则表达式就是:字符串匹配的模式;如果你接触过数据库开发,那么你必定知道什么是模糊查找,而正则就是一种类似模糊查找的,一串表达式…如果你没有接触过模糊查找,那也没关系,这篇文章将带你了解一下正则

2.我们在哪里见过它?

      当我们来到一个网站,进行登陆时网站的账号名为你的邮箱时,就需要用到正则表达式来判断用户输入的一串字符是否符合邮箱的格式
      当我们想要修改密码时,某客户端要求你的新密码必须包含字母数字下划线,三种中的两种时,也使用的时正则表达式…等等很多场景种都需要正则表达式

3.怎么用它?

符号含义举例含义(加粗的为匹配到的结果)
[   ]匹配所有[ ]中的字符[ABC]AbCDEAa
[^  ]匹配除了[]的所有字符[^ABC]aBCd EAa
[A-Z]匹配A到Z,-代表一个区间[a-z]abcdefghijk
.匹配\n和\r之外的单个字符[.]相当于[^\n\r]
[\s\S]匹配所有\\
\w匹配所有的字母数字下划线\\

非打印符:

符号含义
\n匹配一个换行符
\f匹配一个换页符
\r匹配一个回车符
\s匹配任何空白符
\S匹配任何非空白符
\t匹配一个制表符
\v匹配一个垂直制表符

限定符:

符号含义
*匹配前面的子表达式0个或多个
+匹配前面的子表达式1个或多个
匹配前面的子表达式0次或1次

注意:
        1.限定符出现在范围表达式之后时,它应用于整个范围表达式
        2.* 和 + 限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个 ? 就可以实现非贪婪或最小匹配。

4.案例

1.常见的邮箱匹配

if re.match(r'^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$', "153522217@qq.com"):
	print("匹配5")

2.常见的手机号匹配

if re.match(r'^(13[0-9])|(14[57])|(15[0-35-9])|(17[78])|(18[0-9])\d{8}$','14578789090'):
    print('匹配6')

3.常见的身份证号匹配(18位)

if re.match(r'^[1-9]\d{5}(18|19|[23]\d)\d{2}[0-1][0-9][0-3][0-9]\d{3}[0-9Xx]$','12345619900909889x'):
    print('匹配7')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值