正则表达式-元字符和修饰符

174 阅读2分钟

元字符:用于传达非自身含义的字符

修饰符:用于修饰如何应用正则表达式

4.1 正则表达式的元字符

4.1.1 字符和位置

This is a simple sentence

见上处文本,在第一个字符T之前还存在一个位置,元字符中部分可以匹配位置,关于匹配位置而不匹配字符的元字符将在第6部分介绍。

对于位于字符序列中字符之间的位置(单词内部的位置)对开发者意义不大,对字符串开始处,结尾处以及一个字符序列的开始和结尾处更感兴趣,会有专门的元字符来表示这些位置。

4.1.2 句点(.)元字符

句点元字符是适用范围最广的一个元字符,可以匹配任何字母字符(不论大小写),也可以匹配数字

  • 匹配可变的零件编号:匹配第4个字符是一个大写的C而第5和第6个字符是数字的零件编号

    .{3}C[0-9]{2}

    QQ截图20230129161055.png

  • 匹配句点直接量:匹配文本中的一个句点

    \.

    QQ截图20230129161629.png

    如果 . 元字符存在,就不能把句点作为一个直接量字符在模式中来匹配目标文档中的一个句点。 > > 想要匹配句点,使用反斜杠进行转义

4.1.3 \w 元字符

\w 只匹配英文字母字符(A~Z或a~z)、数字和下划线

\w{3}:匹配三个连续是“单词”字符

QQ截图20230129162710.png

\w < = > [A-Za-z0-9_]

4.1.4 \W 元字符

\W元字符用于匹配\w 元字符不匹配的字符

\W元字符匹配任何非ASCII字母字符、非数字以及非下划线字符

\W

QQ截图20230129164230.png

4.1.5 数字和非数字(\d,\D)

正则表达式的诸多实现中,大都使用字符来表示数字或者非数字

\d表示数字

\D表示非数字

\d < = > [0-9]

在不支持\d的情况下,使用如下方法:

  1. 交替选择

    (0|1|2|3|4|5|6|7|8|9)

  2. 使用字符类

    [0123456789]//[0-9]

4.2 空白和非空白元字符(\s,\S,\t,\n)

正则表达式的实现提供了几个字符,用来匹配其中一些或者全部可能出现的空白字符。

  1. \s 元字符

    能够匹配任何单个的空白字符

    具体就是:一个空格符、一个制表符或一个换行符

  2. \S元字符:匹配任何非空白字符

  3. \t 元字符:匹配一个制表符

  4. \n元字符:匹配一个换行符,匹配按回车键时向文本文件中添加的那个字符

  5. 转义字符:如果要让它匹配对应的直接量字符,则必须要对它进行转义。(\\ )

  6. 查找反斜杠:\\

4.3 修饰符

  1. 全局搜索
  2. 不区分大小写的搜索