当前位置: 首页 > java >正文

Python(09)正则表达式

特殊字符

1. 基本元字符

.:匹配除换行符以外的任意单个字符。
*:匹配前面的元素零次或多次。
+:匹配前面的元素一次或多次。
?:匹配前面的元素零次或一次。

2. 定量符

{n}:匹配前面的元素恰好 n 次。
{n,}:匹配前面的元素至少 n 次。
{n,m}:匹配前面的元素至少 n 次,但不超过 m 次。

3. 字符类

[abc]:匹配方括号内的任意一个字符(在这个例子中是 a、b 或 c)。
[^abc]:匹配不在方括号内的任意一个字符(在这个例子中是除了 a、b 和 c 以外的任何字符)。
[a-z]:匹配指定范围内的任意一个字符(在这个例子中是从 a 到 z 的任意一个小写字母)。
\d:匹配任意一个数字,等同于 [0-9]。
\D:匹配任意一个非数字字符,等同于 [^0-9]。
\w:匹配任意一个字母数字字符,包括下划线,等同于 [a-zA-Z0-9_]。
\W:匹配任意一个非字母数字字符,包括下划线,等同于 [^a-zA-Z0-9_]。
\s:匹配任意一个空白字符,包括空格、制表符、换页符等,等同于 [ \t\n\r\f\v]。
\S:匹配任意一个非空白字符,等同于 [^ \t\n\r\f\v]。

4. 锚点

^:匹配输入字符串的开始位置。
$:匹配输入字符串的结束位置。
\b:匹配单词边界。
\B:匹配非单词边界。

5. 分组和引用

(abc):将 abc 视为一个整体进行匹配,并捕获该分组。
(?:abc):将 abc 视为一个整体进行匹配,但不捕获该分组。
\1、\2 等:引用之前捕获的分组。

6. 选择

a|b:匹配 a 或 b。

7. 转义字符

\:用于转义特殊字符,例如 . 匹配实际的点号,而不是任意字符。

常用方法

  • 1.‌re.search(pattern, string[, flags])‌
    在字符串中搜索第一个与正则表达式模式匹配的结果,返回一个Match对象,如果没有找到匹配项则返回None。
  • 2.‌re.match(pattern, string[, flags])‌
    从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None。
  • 3.‌re.fullmatch(pattern, string[, flags])‌
    如果整个字符串完全匹配正则表达式模式,则返回一个Match对象,否则返回None。
  • 4.‌re.findall(pattern, string[, flags])‌
    返回字符串中所有与正则表达式模式匹配的子串,作为一个列表返回。
  • 5.‌re.finditer(pattern, string[, flags])‌
    返回一个迭代器,其中每个元素都是一个Match对象,对应于字符串中所有与正则表达式模式匹配的部分。
  • 6.‌re.sub(pattern, repl, string[, count, flags])‌
    将字符串中所有与正则表达式模式匹配的部分替换为指定的字符串,并返回替换后的字符串。
  • 7.‌re.split(pattern, string[, maxsplit, flags])‌
    根据正则表达式模式分割字符串,返回一个列表,包含分割后的各个部分。
  • 8.‌re.compile(pattern[, flags])‌
    编译正则表达式模式,返回一个正则表达式对象,可以用于后续的匹配操作,提高效率。
http://www.xdnf.cn/news/16176.html

相关文章:

  • HTTP性能优化实战:从协议到工具的全面加速指南
  • 大语言模型中提示词技术的原理、演进与未来发展研究
  • 基于Qt和OpenCV的图片与视频编辑器
  • 从0到1学习c++ 命名空间
  • Hive常用函数
  • GitHub Actions打包容器,推送 AWS ECR 并使 EKS 自动拉取以完成发版部署
  • [ComfyUI] --ComfyUI 是什么?比 Stable Diffusion WebUI 强在哪?
  • Linux Wlan 无线网络驱动开发-scan协议全流程详解
  • QT开发---字符编码与QString和QByteArray
  • 深度分析Java内存回收机制
  • 基于深度学习的图像分类:使用EfficientNet实现高效分类
  • RocketMQ搭建及测试(Windows环境)
  • 大模型处理私有数据的核心技术
  • 【News】同为科技亮相首届气象经济博览会
  • Django Models详解:数据库模型的核心
  • 第二十七章 W55MH32 Interrupt示例
  • go语言基础教程:【1】基础语法:变量
  • 爬虫基础概念
  • 数学基础弱能学好大数据技术吗?
  • Kubernetes 集群架构和Pod创建流程
  • tcp基础协议
  • 字节的机器人模型 GR-3
  • 高可用架构模式——如何应对接口级的故障
  • uni-app支付宝小程序样式穿透失效
  • C51:用DS18B20传感器读取温度
  • 如何将拥有的域名自定义链接到我的世界服务器(Minecraft服务器)
  • 【Rust线程】Rust高并发编程之线程原理解析与应用实战
  • 【unity游戏开发入门到精通——组件篇】unity的粒子系统力场 (Particle System Force Field)实现如旋风、吸引力、风吹效果等
  • 数据库垂直拆分和水平拆分
  • 【​I2S:芯片设计中的“音频桥梁”​】