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

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



前言

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

/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 修饰符可以查找字符串中所有的匹配项:
在这里插入图片描述
在字符串中查找 “runoob”:

var str=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

(时光煮雨)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值