【软件开发】正则表达式

【软件开发】正则表达式

正则表达式是一种强大的高级字符串匹配方法。

通配符

用于代表某些字符。

普通字符

  • .:除了换行回车符以外的任何单个字符。
  • \w:匹配任意一个字母、数字、下划线。
  • \d:匹配任意一个阿拉伯数字。

非打印字符

  • \f:匹配一个换页符。
  • \n:匹配一个换行符。
  • \r:匹配一个回车符。
  • \t:匹配一个制表符。
  • \v:匹配一个垂直制表符。
  • \s:匹配任何空白文字。
  • \S:匹配任何非空白文字。
  • \cx:匹配由 x 指定的控制字符,所有非打印字符都可通过该方式指定。

表达式字符

可借助表达式功能实现通过自定义规则表达单个字符。

  • []:创建一个表达式,匹配其中的任何字符。
  • ^:表达式取反,不匹配其中的任何字符。
  • -:表示一个区间,匹配区间内的所有字符。

[^A-Z]表示匹配所有非大写字母字符。

转义字符

部分字符有特殊功能,所以表示它们需要在前面加上\进行转义。

限定符

描述前述通配符的通配次数

  • *:匹配零次或多次。
  • +:匹配一次或多次。
  • ?:匹配零次或一次。
  • {n}:固定匹配 n 次。
  • {n,}:至少匹配 n 次。
  • {n,m}:最少匹配 n 次,最多匹配 m 次。

贪婪

*+限定符都是贪婪的,它们会保证在正则表达式匹配的情况下,尽可能多的匹配文字。

但可通过在其后面加上一个?使其非贪婪,即匹配满足要求的最短文字。

定位符

用于限制通配规则在句子中的位置。

  • ^:句子开头。
  • $:句子结尾。
  • \b:单词边界。
  • \B:非单词边界。

附加功能

正则表达式支持的一些在特定情况才可使用且常用的功能。

选择

利用()可以从匹配的字符串中捕获分组。这主要在程序中使用,以便更精细获取匹配结果。

修饰符

修饰符又称标记,可用于指定额外的匹配。如果支持,通常需要将正则表达式用//括起来,然后在后面添加修饰符,修饰符可同时提供多个。

  • i:匹配时忽略大小写。
  • g:全局匹配。查找所有的匹配项,否则仅匹配首个。
  • m:多行匹配。使定位符^$匹配每一行的开头和结尾,而不是字符串的开头结尾。
  • s:使.也匹配换行回车符,即真正的任何字符。

/a/gi表示匹配所有的 a 或 A 字符。

参考资料


【软件开发】正则表达式
https://bdffzi-blog.pages.dev/posts/2373330896.html
作者
BDFFZI
发布于
2024年5月10日
许可协议