正则表达式中(?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']
相关推荐
上海合宙LuatOS8 小时前
LuatOS核心库API——【fatfs】支持FAT32文件系统
java·前端·网络·数据库·单片机·嵌入式硬件·物联网
认真的薛薛8 小时前
数据库-主从故障排查,gitd,延时同步
数据库·sql·mysql
dishugj8 小时前
【Oracle】理论知识
数据库·oracle
m0_528749008 小时前
linux编程----目录流
java·前端·数据库
大尚来也8 小时前
Oracle索引扫描全解析:四大核心类型与性能优化实战指南
数据库
未名编程8 小时前
【干货】MySQL 8.0 物理迁移:电脑损坏后如何通过 Data 文件夹完美恢复数据库?
数据库·mysql
lydcljie9 小时前
mysql数据被误删的恢复方案
数据库·mysql
edisao9 小时前
第一章:L-704 的 0.00% 偏差
前端·数据库·人工智能
x***r1519 小时前
Xampp集成环境包安装步骤详解(附Apache、MySQL启动与本地网站搭建)
数据库·mysql·apache
大黄说说9 小时前
MySQL 查询优化三剑客:JOIN、子查询、UNION 的选型策略与性能调优实战
数据库