正则表达式中(?s)与(?m)的区别

理论:

(?m) 和 (?s) 是正则表达式中的两个模式标志,它们具有不同的作用:

  1. (?m) 多行模式标志(也称为 "multiline" 模式):
  • 默认情况下,正则表达式将整个输入字符串视为单行
  • 多行文本中使用该标志时,正则表达式会匹配每一行
  1. (?s) 单行模式标志(也称为 "dotall" 模式):
  • 默认情况下,. 元字符匹配除了换行符之外的任意字符。
  • 当使用 单行模式标志时,. 元字符将匹配包括换行符在内的任意字符。

实践:

复制代码
import re

pattern1 = r'^.*'  
pattern2 = r'(?m)^.*'  
pattern3 = r'(?s)^.*'

matches1 = re.findall(pattern1, "Hello\nWorld")
matches2 = re.findall(pattern2, "Hello\nWorld")
matches3 = re.findall(pattern3, "Hello\nWorld")

print(matches1)  # 输出:['Hello']
print(matches2)  # 输出:['Hello', 'World']
print(matches3)  # 输出:['Hello\nWorld']
相关推荐
Gauss松鼠会16 分钟前
高斯数据库(openGauss)的物理存储结构
运维·服务器·数据库·sql·opengauss·经验总结
杨云龙UP38 分钟前
PostgreSQL 18.4 数据库整库迁移实战:pg_dump 备份与 pg_restore 恢复完整操作手册
运维·服务器·数据库·postgresql·pg_dump·pg_restore
AOI小白新手上路1 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
凯歌的博客2 小时前
DuckDB 是一款进程内的分析型数据库
数据库·ai编程
dishugj2 小时前
Oracle物理体系结构
数据库·oracle
北亚数据恢复2 小时前
【数据库数据恢复】NDF文件变0KB、数据库损坏?超大数据库数据恢复案例
数据库·oracle
狗凯之家源码网3 小时前
纯 PHP+MySQL 应用市场系统源码实测!
开发语言·mysql·php
数据技术说3 小时前
数据库缓存架构深度解析:命中率、一致性、多层缓存管理
数据库·架构
姚远Oracle ACE3 小时前
对比测试了 openGauss、PostgreSQL、Oracle、MySQL 的CPU 指令数
mysql·postgresql·oracle