正则表达式中(?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']
相关推荐
zhaoyong2223 分钟前
uni-app怎么获取短信验证码 uni-app接入短信平台流程【实战】
jvm·数据库·python
Jetev4 分钟前
CSS如何实现图片自动裁剪填充_巧用object-fit属性控制尺寸
jvm·数据库·python
gjc5924 分钟前
Linux MySQL服务器SSH多端口配置:解决22端口禁直连,兼顾安全与运维
linux·运维·服务器·mysql·ssh
处女座_三月5 分钟前
时序数据库改存储时长
数据库·时序数据库
m0_463672207 分钟前
SQL窗口函数如何优化嵌套子查询_提升执行效率
jvm·数据库·python
Francek Chen10 分钟前
【大数据存储与管理】云数据库:03 云数据库系统架构
大数据·数据库·分布式·架构
六月雨滴13 分钟前
数据库角色管理(Role Management)
数据库·oracle·dba
CLX050514 分钟前
如何通过 curl 调用 Go 标准库 RPC 服务(JSON-RPC 协议)
jvm·数据库·python
weixin_4597539416 分钟前
golang如何设计HTTP中间件链_golang HTTP中间件链设计方法
jvm·数据库·python
woxihuan12345618 分钟前
如何处理MongoDB副本集中节点IP变更_rs.reconfig强制更新配置矩阵
jvm·数据库·python