为了账号安全,请及时绑定邮箱和手机立即绑定

Python基础知识(24):正则表达式

标签:
Python

正则表达式:检查一个字符串是否与某个模式匹配

\d :匹配数字

\w :匹配字母或数字

. :匹配任意字符

{n} :匹配n个字符

{m,n} :匹配m到n个字符

\s :匹配空格

a|b :匹配a或b

^ :匹配字符串开头

$ :匹配字符串结尾

* :匹配0个或多个

+ :匹配1个或多个

? :匹配0个或1个

[abc] :匹配a、b或c

[^abc] :匹配除了a、b、c以外的

re模块:包含正则表达式的所有功能

建议使用Python的r前缀,如r‘\d’

由于Python的字符串本身也用\转义,所以要特别注意

1、match:匹配字符串

复制代码

import re
m = re.match(r'\d{3}\-\d{3,8}',r'010-23456')print(m)

结果:
<_sre.SRE_Match object; span=(0, 9), match='010-23456'>

复制代码

2、search:扫描

复制代码

import re

s = re.search(r'(.com)',r'someone@gmail.com')print(s)

结果:<_sre.SRE_Match object; span=(13, 17), match='.com'>

复制代码

3、split:切分字符

复制代码

import re

s = re.split(r'[\,]',r'hello,world')print(s)

结果:
['hello', 'world']

复制代码

4、sub:替换

复制代码

import re

sen = 'Hello2018, 12world06.'sen1 = re.sub(r'\d', '', sen)print(sen1)

结果:
Hello, world.

复制代码

5、group:分组

复制代码

import re

sen = re.match(r'^(\d{3})-(\d{3,8})$', '010-23456')print(sen.group(0))print(sen.group(1))print(sen.group(2))

结果:010-23456
010
23456

复制代码

 

验证Email地址的正则表达式

复制代码

#验证Email地址的正则表达式import re

sen1 = r'someone@gmail.com'sen2 = r'bill.gates@microsoft.com'sen3 = r'bob#example.com'sen4 = r'mr-bob@example.com'm = r'[\w\.]+\@[\w]+\.(com)'print(re.match(m,sen1))print(re.match(m,sen2))print(re.match(m,sen3))print(re.match(m,sen4))

结果:<_sre.SRE_Match object; span=(0, 17), match='someone@gmail.com'>
<_sre.SRE_Match object; span=(0, 24), match='bill.gates@microsoft.com'>None
None

 

作者:finsom

网址:https://www.cnblogs.com/finsomway/p/10075470.html


点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消