【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


相关文章
|
9月前
|
机器学习/深度学习 算法 计算机视觉
线性回归 正则项(惩罚项)原理、正则项的分类与Python代码的实现
线性回归 正则项(惩罚项)原理、正则项的分类与Python代码的实现
|
8月前
|
Python
【从零学习python 】67.Python中的re模块:正则替换与高级匹配技术
【从零学习python 】67.Python中的re模块:正则替换与高级匹配技术
52 2
|
8月前
|
JSON 数据格式 Python
Python实战系列<一> | 正则提取数据并绘图
Python实战系列<一> | 正则提取数据并绘图
|
10月前
|
Python
蓝桥杯-正则问题-python
蓝桥杯-正则问题-python
69 0
|
Python
Python实战:使用re正则库匹配url中的id信息
Python实战:使用re正则库匹配url中的id信息
175 0
|
前端开发 测试技术
软件测试|selenium+python基础方法封装(二)
软件测试|selenium+python基础方法封装(二)
154 0
软件测试|selenium+python基础方法封装(二)
|
Web App开发 Java 测试技术
软件测试|selenium+python基础方法封装(一)
软件测试|selenium+python基础方法封装(一)
183 0
软件测试|selenium+python基础方法封装(一)
|
C语言 Python
通过题目入门python基础1
简介:本文通过,python的基础题目,带领大家入门python的基础语法,以实用主义为主。
187 0
通过题目入门python基础1
|
存储 Python
Python基础笔记(持续更新...)
Python基础笔记(持续更新...)
|
数据安全/隐私保护 Python
Python操作ppt和pdf基础
Python操作ppt和pdf基础
290 0
Python操作ppt和pdf基础