Python基础知识(24):正则表达式
正则表达式:检查一个字符串是否与某个模式匹配
\\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 ; span=(0, 9), match=\'010-23456\'>
2、search:扫描
import re s = re.search(r\'(.com)\',r\'someone@gmail.com\') print(s) 结果: <_sre.SRE_Match ; 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 ; span=(0, 17), match=\'someone@gmail.com\'> <_sre.SRE_Match ; span=(0, 24), match=\'bill.gates@microsoft.com\'> None None
资料来源:
1、廖雪峰官网:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143193331387014ccd1040c814dee8b2164bb4f064cff000
2、菜鸟教程:http://www.runoob.com/python3/python3-reg- s.html
继续阅读与本文标签相同的文章
下一篇 :
免费体验国内首款写作机器人,就是这么溜!
-
Spring Cloud Zuul的动态路由怎样做?集成Nacos实现很简单
2026-05-19栏目: 教程
-
springboot自动配置原理
2026-05-19栏目: 教程
-
Windows10下载mysql详解
2026-05-19栏目: 教程
-
强强联合 阿里云 RDS for SQL Server 与 金蝶 K/3 WISE 产品实现兼容适配
2026-05-19栏目: 教程
-
给网站添加微信扫描二维码登录功能
2026-05-19栏目: 教程
