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

【正则表达式】 正则表达式的修饰符有哪些?

🌈 个人主页:(时光煮雨)
🔥 高质量专栏:vulnhub靶机渗透测试
👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分95+),分享更多关于网络安全、Python领域的优质内容!(希望得到您的关注~)


🌵目录🌵

  • 前言
  • 🍈一、常用修饰符
    • 🍉1.1.常用修饰汇总
    • 🍐1.2.g 修饰符
    • 🍊1.3.i 修饰符
    • 🍋1.4.m 修饰符
    • 🍍1.5.s 修饰符
  • 🥝二、扩展说明
  • 🤝 期待与你共同进步
  • 📚 参考文档


前言

正则表达式修饰符(也称为模式修饰符或标记)是用于改变正则表达式匹配行为的特殊指令。
标记也称为修饰符,正则表达式的标记用于指定额外的匹配策略。
标记不写在正则表达式里,标记位于表达式之外,格式如下:

/pattern/flags

🍈一、常用修饰符

🍉1.1.常用修饰汇总

下表列出了正则表达式常用的修饰符:

  1. i (ignore case) - 忽略大小写

    • 使匹配不区分大小写
    • 示例:/abc/i 可以匹配 “abc”, “Abc”, “ABC” 等
    • 支持语言:几乎所有正则表达式实现(JavaScript、PHP、Python等)
  2. g (global) - 全局匹配

    • 查找所有匹配项,而不是在第一个匹配后停止
    • 示例:在字符串 “ababab” 中,/ab/g 会匹配所有三个 “ab”
    • 支持语言:JavaScript、PHP等
  3. m (multiline) - 多行模式

    • 改变 ^ 和 $ 的行为,使其匹配每行的开头和结尾,而不仅是整个字符串的开头和结尾
    • 示例:在多行字符串中,/^abc/m 会匹配每行开头的 “abc”
    • 支持语言:JavaScript、PHP、Python、Perl等
  4. s (single line/dotall) - 单行模式

    • 使用点号 . 匹配包括换行符在内的所有字符
    • 在JavaScript中称为"dotall"模式,使用 /s 修饰符
    • 示例:/a.b/s 可以匹配 “a\nb”
    • 支持语言:PHP、Perl、Python(作为re.DOTALL)、JavaScript(ES2018+)
  5. u (unicode) - Unicode模式

    • 启用完整的Unicode支持
    • 正确处理UTF-16代理对和Unicode字符属性
    • 示例:/\p{Script=Greek}/u 可以匹配希腊字母
    • 支持语言:JavaScript、PHP等
  6. y (sticky) - 粘性匹配

    • 从目标字符串的当前位置开始匹配(使用lastIndex属性)
    • 类似于^锚点,但针对的是匹配的起始位置
    • 示例:在JavaScript中,/a/y 会从lastIndex开始匹配 “a”
    • 支持语言:JavaScript
  7. x (extended) - 扩展模式

    • 忽略模式中的空白和注释,使正则表达式更易读
    • 示例:在PHP中,/a b c/x 等同于 /abc/
    • 支持语言:PHP、Perl、Python(作为re.VERBOSE)

🍐1.2.g 修饰符

g 修饰符可以查找字符串中所有的匹配项:

http://www.dtcms.com/a/365189.html

相关文章:

  • 正则表达式的使用
  • A*(Astar)算法详解与应用
  • 【C++八股文】数据结构篇
  • Vue Vapor 事件机制深潜:从设计动机到源码解析
  • Windows 电源管理和 Shutdown 命令详解
  • QuillBot:AI文本重写神器(附官网),高效解决文案润色与语法检查需求
  • 不只会修图!谷歌发布官方指南,教你用 Nano Banana 玩转文生图
  • Mysql数据库(性能)索引学习
  • 如何获取easy-ui的表格的分页大小
  • 创建Spring MVC和注解
  • 企业资源计划(ERP)系统:数字化企业的核心引擎
  • 数据结构——顺序表和单向链表(2)
  • MybatisPlus 根据实体类获取对应的Mapper
  • 硬件开发1-51单片机2-按键、中断
  • Process Lasso:高效管理和优化计算机进程
  • 并查集_路径压缩
  • [嵌入式embed][Qt]Qt5.12+Opencv4.x+Cmake4.x_用Qt编译linux-Opencv库 测试
  • Linux 用户的 Windows 改造之旅
  • linux命名管道的使用
  • 关于linux数据库编程——sqlite3
  • Unity 中 打包 assetsBundle
  • C语言字符函数和字符串函数(1)
  • 《网络安全实战:CC攻击(应用层)与DDoS攻击(网络层)的底层逻辑与防御体系》​
  • 基于SpringBoot+Vue开发的环境保护监督管理网站
  • 如何通过控制台查看向量检索服务使用数据
  • Vue Router原理及SPA页面刷新解析
  • 融云:当我们谈论 AI 重构业务时,我们到底在谈论什么
  • SAM TTS网页官网入口 – 在线版微软tts在线语音合成助手
  • 【TRAE调教指南之MCP篇】FastMCP:快速制作自己的MCP服务
  • 对锁的总结