正则匹配规则 | 学习笔记

简介: 快速学习 正则匹配规则

开发者学堂课程【Python入门 2020年版正则匹配规则】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10446


正则匹配规则


模式字符串使用特殊的语法来表示一个正则表达式:

1.   字母和数字表示他们自身,一个正则表达式模式中的字母和数字匹配同样的字符串。

re.search(r'H' , ' Hello ')

这里的H表示的就是字母H自身,代表有特殊含义

2.   多数字母和数字前加一个反斜杠时会拥有不同的含义。

ret = re.search(r ' ld ' , ' he12ms9e' )

这里的\d 表示的是匹配数字

3.   标点符号只有被转义时才匹配自身,否则它们表示特殊的含义。

ret = re.search(r' . " , ' hello')

这里的﹒表示的是匹配任意字符

ret = re.search(r'l. ' , ' he.llo')

这里的\.进行了转义,才表示标点符号自身。

4.   反斜杠本身需要使用反斜杠转义。由于正则表达式通常都包含反斜杠,所以你最好使用原始字符串来表示它们。模式元素(r'\t',等价于t)匹配相应的特殊字符。

实例:

#数字和字母都表示它本身

#很多字母前面添加\会有特殊含义(重点)

#绝大多数标点符号都有特殊含义(重点)

#如果想要使用标点符号,需要在\

import re

字母 x 表示它本身

re.search(r'x', 'hello xyz ' )

re.search(r'5', '23r49534')

print(re.search(r'd', 'good '))

输出的结果为:

<re.Match object; span=(34), match= 'd ' >

#字母 d 是普通的字符

print(re.search(r'ld', 'good' ))

输出的结果为:None

\d 有特殊含义,不再表示字母 d

print(re.search(r'ld' . 'wsdfk4sdfil'))

输出的结果为:

<re.Match object; span=(56), match='4'>

# re.search( '+','1+2')#不能查接使用,+有特殊含义

print(re.search(r'1+', '1+2'))

输出的结果为:

<re.Match object; span=(1,2),match='+'>

匹配身份证:

r"[1-$]\d{5](18/9|20|)\d{2]((8[1-9])|(10]11/12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$'

相关文章
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1100 152
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1776 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
708 152
|
12天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
664 14
|
7天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
465 5