首页 > 其他分享 >正则表达式复习三——修饰符

正则表达式复习三——修饰符

时间:2024-01-13 16:12:18浏览次数:28  
标签:abc 匹配 复习 示例 正则表达式 修饰符 字符串

修饰符

在正则表达式中,修饰符是用来修改搜索模式的标志,添加在正则表达式的末尾,以控制匹配的方式。格式为:/pattern/flagspattern 为正则表达式,flags 为修饰符。

正则表达式的修饰符可以单独使用,也可以组合使用,它们提供了更灵活的匹配选项,适应不同的需求。

1. g - 全局搜索(Global)

  • 示例:/abc/g
  • 匹配:"abc", "abcabc", "abcxyzabc"
  • 不匹配: "ac"

2. i - 不区分大小写(Case Insensitive)

  • 示例:/abc/i
  • 匹配:"abc", "AbC", "ABC"
  • 不匹配:"ac"

3. m - 多行匹配(Multiline)

  • 示例:/^abc/m
  • 匹配:"abc"(字符串的开头),"xyz\nabc"(字符串的第二行)
  • 不匹配:"xyz\nabc"(字符串的开头)。

4. s - 单行匹配(Single line)

  • 示例:/abc/s
  • 匹配:"abc"(字符串中的任何位置,包括换行符)
  • 不匹配:"ab\nc", "a\nb\nc"

5. u - Unicode 匹配模式

  • 示例:/[\u4e00-\u9fa5]+/u
  • 匹配:匹配中文字符
  • 不匹配:字母、数字

6. y - 粘附匹配

y 修饰符是 ECMAScript 6 中引入的,它使得正则表达式的匹配从字符串的当前位置开始,而不是从上次匹配的位置开始,这种方式被称为粘附匹配(sticky matching)。

  • 示例:/abc/y
  • 匹配:"abc"(字符串的开头)
  • 不匹配:"xyz\nabc"(字符串的开头之后)

7. x - 忽略空白字符(Whitespace)

x 修饰符用于忽略正则表达式中的空白字符(除了在字符类中的空白字符),这样可以使正则表达式更易读,可以添加注释和格式化。

  • 示例:/a b c/x
  • 匹配:"abc"
  • 不匹配:"a b c"

xy 这两个修饰符都提供了更多的灵活性和可读性,但需要注意的是,它们可能在某些环境中不被完全支持,使用时,最好检查目标环境的正则表达式引擎的兼容性。

标签:abc,匹配,复习,示例,正则表达式,修饰符,字符串
From: https://www.cnblogs.com/xinjie-just/p/17958726

相关文章

  • 计算机组成原理 复习笔记
    蒽,谁说不是速成指南呢。目录11Intro12-13指令系统计算机程序与指令系统语言高级语言/算法语言汇编语言机器语言冯诺依曼结构计算机指令和指令系统RISC-V指令系统架构特点特权模式14数据表示及检错纠错数据表示逻辑型数据表示字符的表示数值数据:整数、浮点数数值范围和数......
  • 在正则表达式中,​​[\w]​​​匹配任何字母、数字或下划线字符。它等价于字符集​​[
    在正则表达式中,[\w]匹配任何字母、数字或下划线字符。它等价于字符集[A-Za-z0-9_]。而[\w\d]匹配任何字母、数字或下划线字符和任何数字字符,等价于字符集[A-Za-z0-9]。如果你想匹配一个字符串中的所有\w字符,可以使用正则表达式/\\w+/g。区别在于是否包含下划线......
  • `^`是一个正则表达式元字符,用于匹配字符串的开头。例如,`^hello`可以匹配以"hello"开头
    ^是一个正则表达式元字符,用于匹配字符串的开头。例如,^hello可以匹配以"hello"开头的字符串。在正则表达式中,^还可以用于否定字符集,例如,[^abc]可以匹配除了"a"、“b”、"c"以外的任何字符。希望这可以帮助你!......
  • [NLP复习笔记] Transformer
    1.Transformer概述1.1整体结构\(\text{Transformer}\)主要由\(\text{Encoder}\)和\(\text{Decoder}\)两个部分组成。\(\text{Encoder}\)部分有\(N=6\)个相同的层,每层包含一个\(\text{Muti-HeadAttention}\)(多头注意力机制,由多个\(\text{Self-Attention}\)组成......
  • 数电期末复习
    目录第一章开关理论基础第二章组合逻辑第三章时序逻辑第一章开关理论基础离散量,又称数字量:离散性,按时间点采样数字量具有精度高、传输高效、易存储、易处理等优点进位基数:R,在一个数位上,规定使用的数码符号的个数叫该进位计数制的进位基数或进位模数,例如十进制R=10数......
  • (五十六)C#编程基础复习——C#多线程
    多线程就是多个线程同时工作的过程,我们可以将线程看作是程序的执行路径,每个线程都定义了一个独特的控制流,用来完成特定的任务。如果你的应用程序涉及到复杂且耗时的操作,那么使用多线程来执行是非常有益的。使用多线程可以节省CPU资源,同时提高应用程序的执行效率,例如现代操作系统对......
  • 在Python中,classmethod是一个修饰符,它用于指定类中的某个方法为类方法1。这种方法不需
    classA(object):bar=1deffunc1(self):print('foo')@classmethoddeffunc2(cls):print('func2')print(cls.bar)cls().func1()A.func2()#不需要实例化Ins=A()Ins.func1()#需要实例化在Pyth......
  • 正则表达式的概念和实践
    python中用re模块来处理正则表达式,能帮助你检查一个字符串是否和某种模式匹配。正则表达式提供了强大的方式来查找,替换,验证和提取文本数据常用的场景是用正则表达式来进行网页数据的爬取和存储。1、正则表达式的模式:普通字符例如字母,数字,空格可以直接匹配特殊字符例如......
  • java期末复习,阳光学院
    1.面向对象都有那些特性以及你对这些特性的理解?类具有封装性,继承性和多态性的特性。(1)封装性:类的封装性为类的成员提供公有,缺省,保护和私有等访问权限,目的是隐藏类只的私有变量和类中方法的实现细节(2)继承性:允许通过继承原有类的某些特性或全部特性而产生全新的类,原有的类称为基类......
  • 【动态规划】【字符串】C++算法:正则表达式匹配
    作者推荐视频算法专题涉及知识点动态规划字符串LeetCode10:正则表达式匹配给你一个字符串s和一个字符规律p,请你来实现一个支持‘.’和‘’的正则表达式匹配。‘.’匹配任意单个字符'’匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符......