正则表达式相关知识点

上一个题用到了这个知识点,我决定默写一遍,嗯,我应该能默得下来。

一、概述

1、正则表达式是一个特殊的字符序列,它能帮助我们更加简便地检查一个字符串是否与某种模式匹配。正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成。在Python中需要通过正则表达式对字符串进行匹配时,需要用到re模块。

2、正则表达式的应用场景

表单验证、爬虫、文本数据处理

(1)导入re模块

python 复制代码
import re

(2)使用match方法进行匹配操作

python 复制代码
result = re.match()

re.match能够匹配出以xxx开头的字符串,如果起始位置没有匹配成功,就会返回None。

(3)如果上一步匹配到了数据,可以使用group()方法来提取数据

python 复制代码
result.group()

举个例子吧

二、匹配单个字符

. 匹配任意一个字符(处理\n)

匹配 中列举的字符

\d 匹配数字,数字范围0~9

\D 匹配非数字,即匹配非数字的字符

\s 匹配空白,即匹配空格,也就是tab键

\S 匹配非空白

\w 匹配单词字符,即匹配a~z,A~Z,0~9,_

\W 匹配非单词字符


(1). 匹配任意一个字符(处理\n)

(2) 匹配 中列举的字符

(3)\d 匹配数字,数字范围0~9

(4)\w 匹配单词字符,即匹配a~z,A~Z,0~9,_

三、匹配多个字符

* 匹配前一个字符出现0次或者无数次,即可有可无

  • 匹配前一个字符出现1次或者无数次,即至少有1次

? 匹配前一个字符出现1次或者0次,即要么有1次要么没有

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

{m,n} 匹配前一个字符出现从m次到n次


(1)* 匹配出,一个字符串第一个字母为大小字符,后面都是小写字母并且这些小写字母可有可无。

re.match()从字符串开头开始匹配,会尽可能多地匹配符合规则的字符(贪心匹配),直到无法匹配为止。

(2)+:匹配出,变量名是否有效

(从字符串开头 开始,先匹配至少 1 个 "空格 / 字母 / 下划线",紧接着匹配任意个 "字母 / 数字 / 下划线",直到遇到不符合的字符为止(re.match 是贪心匹配))

(3)? 匹配数字 匹配前一个字符出现1次或者0次,即要么有1次,要么没有

从字符串开头开始,匹配 "可选的 1-9 数字" + "必选的 0-9 数字",总共匹配 1 位或 2 位数字[1-9]? 是 0/1 次,[0-9] 是 1 次,合计 1 或 2 位)。

接下来再举几个例子:

ok,默写完毕,我只记得这些,继续做题去了。

相关推荐
小白快快跑哦3 天前
python-字符串全解(六):正则表达式-转义与非转义
python·正则表达式·转义与非转义
zx_741484814 天前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Patrick在香港7 天前
Claude Prompt 香港场景:公文里「今日」落在 6 个日历日上,「翌日」锚错了 5 天
python·自然语言处理·正则表达式·claude·数据清洗
梦帮科技9 天前
Next.js 16 模块化单体实战:App Router、领域模块与 Route Handler 分层
css·数据结构·链表·正则表达式·node.js·json·html5
yume_sibai15 天前
正则表达式完全指南(基础语法 + 实战应用 + 性能优化 + 最佳实践)
开发语言·正则表达式·c#
研☆香16 天前
js中使用的正则表达式
开发语言·javascript·正则表达式
2601_9622935320 天前
浅学python | 正则表达式集锦
正则表达式·字符串匹配·python知识·浅学python·ip地址检查
2601_9622955820 天前
Python中正则表达式的知识汇总分享
python·正则表达式·模块·语法·匹配
启观川21 天前
Python基础-第 16 章 综合案例:客户信息管理系统
开发语言·笔记·python·正则表达式
2601_9622940521 天前
Python 操作 Word:如何查找、替换和批量修改文本
python·正则表达式·word·文档处理·查找替换