【Python零基础入门篇 · 37】:正则基础

简介: 【Python零基础入门篇 · 37】:正则基础

正则基础


导入模块:import re


math方法匹配


res = re.match(正则表达式,要匹配的字符串)


  • re.match()从字符串的开始位置进行匹配,配对成功返回match对象。,没有匹配成功返回None


  • 匹配到数据,使用group方法获取数据

ba265e8d9a1649569ddd2fdb528b2dc0.png


匹配单个字符


“.”——匹配任意一个字符(除了\n之外)

2c96e6b815194c989821223f46f1276e.png


“[]”——匹配[]中列举的字符


7d48ffebc5b04573bb6121839c0a1c03.png


下图报错原因:由于没有匹配到元素,之后又调用了group()方法造成的。

798babe4df2f42a6a702e9d6334b9e87.png


“\d”——匹配数字


0,1,2,3,4,5,6,7,8,9

bb55150292e54034ad67c19ff3ea5742.png


“\D”——匹配非数字,即不是数字

4dd4d1b126164af0a6331eac0f2010c2.png

“\s”——匹配空白,即空格和tab键

e3982fe8c716435086b4e6355e8277bc.png

“\S”——匹配非空白

f09b4683d56a451388d1beff1b109f1f.png

“\w”——匹配单词字符

a-z,A-Z,0-9,_(下划线),汉字


e53ce0fb6ec8495b910c33536e3d2966.png


“\W”——匹配非单词字符


ad4aa430e90947b299db00e66ecb5c0a.png


匹配多个字符

“ * ” ——匹配前一个字符出现0次或无限次


f0dc07cea3484619bb107dd2cdd14a1e.png

“ + ” ——匹配前一个字符出现一次或无限次

5a9ade02cc344f999c3fda0512eaf6ee.png

“ ?” ——匹配前一个字符出现一次或0次,即要么有一次,要么没有

ed33479a02064158883235337d029b6d.png


“{m}” ——匹配前一个字符出现m次

a11d8d7ce82240908c0e5ff96b250a38.png

“{m,n}”——匹配前一个字符出现从m次到n次(m<n)


b59feb80b14e4cde8d197d84fde8d26f.png

23eebe6e95034de8ac94725544782f03.png



匹配开头结尾


“ ^ ” ——匹配字符串开头

^表示以什么开头,表示对什么取反。

1e75d70b16f24f9c9ced5ee6ed2df2d0.png



^在[]外表示由[]中的各个字符开头就匹配成功


^[ab] :表示以’a’或’b’开头就匹配成功

a304cd610f5b4390bbbdd4a6d94ddecf.png

“ $ ” ——匹配字符串结尾

0b669017361d4c23ad0c41494763253b.png

ee91028565b140f49cfd67505ca05d82.png

952caf9e7ba24951ae2042bfccb0cbdb.png



不匹配


^在[]中表示不匹配


5b5c3498583d46dd93686842fb38edee.png


总结


  • ‘abc’:表示字符串开头有abc就匹配成功


  • ‘[abc]’:表示以字符串开头有’a’或’b’或’c’就匹配成功


  • ‘^[abc]’:表示由’a’或’b’或’c’开头就匹配成功


  • ‘[^abc]’:表示匹配除了’a’、‘b’、‘c’之外的字符



匹配分组


“ | ”——匹配左右任意一个表达式(从左到右进行匹配)

a9650c0772e74197acfed93fbfb9cb28.png


(ab)——括号中字符作为一个分组

c1e512f2c7f24672b62104e7a38f2745.png

082ff104a88148649f3a3c36771124f6.png


\num——引用分组num匹配到的字符串


adb333172afb4890b76d007707acc14b.png


(?P<name>)分组起别名

(?P=name)引用别名为name分组匹配到的字符串


674ef01b16784bfa8a71399372b4a616.png


相关文章
|
机器学习/深度学习 数据采集 自然语言处理
【机器学习实战】10分钟学会Python怎么用LASSO回归进行正则化(十二)
【机器学习实战】10分钟学会Python怎么用LASSO回归进行正则化(十二)
2319 0
|
6月前
|
Python
python小案例-re正则
python小案例-re正则
|
6月前
|
机器学习/深度学习 算法 算法框架/工具
【Python机器学习专栏】深度学习中的正则化与优化技术
【4月更文挑战第30天】本文探讨了深度学习中的正则化和优化技术,以提升模型的泛化能力和训练效率。正则化包括L1和L2正则化以及Dropout,防止过拟合。优化技术涵盖梯度下降法、动量法和Adam优化器,加速模型收敛。Python示例展示了如何在Keras中应用这些技术,如L2正则化、Dropout及Adam优化器。
119 0
|
机器学习/深度学习 算法 计算机视觉
线性回归 正则项(惩罚项)原理、正则项的分类与Python代码的实现
线性回归 正则项(惩罚项)原理、正则项的分类与Python代码的实现
|
Python Perl
【python脚本】单行多次正则匹配
【python脚本】单行多次正则匹配
|
Python
【从零学习python 】67.Python中的re模块:正则替换与高级匹配技术
【从零学习python 】67.Python中的re模块:正则替换与高级匹配技术
77 2
|
API Python
32.从入门到精通:Python错误输出重定向和程序终止 字符串正则匹配 访问 互联网 日期和时间
32.从入门到精通:Python错误输出重定向和程序终止 字符串正则匹配 访问 互联网 日期和时间
|
JSON 数据格式 Python
Python实战系列<一> | 正则提取数据并绘图
Python实战系列<一> | 正则提取数据并绘图
|
机器学习/深度学习 数据可视化 数据挖掘
【机器学习实战】10分钟学会Python怎么用Ridge岭回归进行正则化(十三)
【机器学习实战】10分钟学会Python怎么用Ridge岭回归进行正则化(十三)
705 0
|
Python
蓝桥杯-正则问题-python
蓝桥杯-正则问题-python
105 0