绝对干货python正则,理论加实践(python正则r)

createh53周前 (05-07)技术教程6


正则表达式是一种用于匹配和处理文本的强大工具。在Python中,可以使用re模块来操作正则表达式。下面是一些常用的正则表达式语法和函数:

正则表达式语法:

- 字符类:用方括号[]表示,匹配方括号中任意一个字符,例如:[abc]可以匹配a、b或c。

- 字符集合:用\d表示任意一个数字,\w表示任意一个字母或数字,\s表示任意一个空格或制表符。

- 重复:用*表示重复0次或多次,+表示重复1次或多次,?表示重复0次或1次,{m}表示重复m次,{m,n}表示重复m到n次。

- 分组:用圆括号()表示,可以将匹配的内容分组,例如:(abc)可以匹配abc。

- 转义字符:用反斜杠\来转义特殊字符,例如:\*可以匹配*字符。

re模块常用函数:

- re.match(pattern, string):从字符串开头匹配正则表达式,返回匹配对象或None。

- re.search(pattern, string):在字符串中搜索正则表达式,返回第一个匹配对象或None。

- re.findall(pattern, string):在字符串中搜索正则表达式,返回所有匹配的字符串列表。

- re.sub(pattern, repl, string):将字符串中匹配正则表达式的部分替换为指定的字符串。

- re.split(pattern, string):根据正则表达式将字符串分割成多个部分,返回分割后的字符串列表。


下面是一个简单的示例代码,展示如何使用正则表达式在字符串中匹配手机号码:

import re

pattern = r'1[3-9]\d{9}' # 定义正则表达式,匹配手机号码

string = '我的手机号码是:13812345678,你的是15887654321' # 待匹配的字符串

match_obj = re.search(pattern, string) # 在字符串中搜索正则表达式

if match_obj:

    print(match_obj.group()) # 输出匹配到的手机号码

else:

    print('未匹配到手机号码')


在上面的代码中,我们首先定义一个正则表达式,用于匹配手机号码。然后,使用re.search()函数在字符串中搜索正则表达式,如果匹配到了,则输出匹配到的手机号码。如果未匹配到,则输出提示信息。



相关文章

深入解析MySQL:查询的正则匹配(深入解析mysql:查询的正则匹配是什么)

概述上一章 查询的过滤条件,我们了解了MySQL可以通过 like % 通配符来进行模糊匹配。同样的,它也支持其他正则表达式的匹配,我们在MySQL中使用 REGEXP 操作符来进行正则表达式匹配。用...

Java性能调优--代码篇:优化正则表达式的匹配效率

作者 | 浩说编程来源 | 公众号:浩说编程[ 大厂技术资源 | 研发必备安装包 | 限时免费获取 ] 在我们的日常业务开发中经常会涉及到使用正则表达式对数据进行处理,比如String的Split()...

如何正则匹配乱码?(正则匹配 ?)

曾经护网的时候,遇到过要写一个正则,匹配文本中包含乱码,当时精神状态比较紧张,没有写出来,事后感觉非常尴尬,不过现在已经释然了,趁着周末休息的时候,简单研究了一下,以防未来还会遇到同样的问题,测试样例...

爬虫必备!正则匹配全攻略(正则匹配?!)

在网络爬虫中,正则表达式是一项非常重要的技能。它可以帮助我们快速准确地从网页中提取出我们所需要的信息。本文将为大家详细介绍如何使用正则表达式匹配所有内容。一、理解正则表达式基础知识正则表达式是一种描述...

「正则表达式」 一、正则表达式字符匹配(前端必懂 )

原书这么一句话,特别棒:正则表达式是匹配模式,要么匹配字符,要么匹配位置,要记住。1. 两种模糊匹配正则表达式的强大在于它的模糊匹配,这里介绍两个方向上的“模糊”:横向模糊和纵向模糊。横向模糊匹配即一...

技术趣讲 |「正则」王国奇遇记(正则设计)

第一回 初来乍到NPC: "欢迎来到正则表达式的国度,勇士!这里的每一个人都使用正则表达式,我是这里的 NPC,每一个来到这里的人都将由我代为介绍正则世界的规则,至于能领悟到何种境界,就看你的...