正则 ``[`` ``]`` 多字符单选匹配技术详解


发布日期 : 2023-03-24 02:04:47 UTC

访问量: 10 次浏览

正则表达式匹配多个字符中的一个,在正则表达式里,我们可以使用元字符 [] 来定义一个字符集合,
出现在 [] 之间的所有字符都是该集合的组成部分,必须匹配其中某个成员(但非全部)。

前面介绍了匹配特殊字符,本章介绍由元字符 [] 组成的字符集合,匹配多个字符中的一个。

如下所示,正则表达式使用了一个字符集合:

sales1.xls
orders3.xls
sales2.xls
sales3.xls
apac1.xls
europe2.xls
geek-docs.com.xls
na1.xls
na2.xls
sa1.xls
ca1.xls

执行正则表达式 [ns]a.\.xls ,输出结果如下:

正则表达式匹配多个字符中的一个

  • 这里使用的正则表达式以 [ns] 开头,这个集合将匹配字符 ns
  • 普通字符 a 匹配字符 a
  • . 匹配一个任意字符
  • \. 匹配 . 字符本身
  • 普通字符 xls 匹配字符串 xls

字符集合在不需要区分字母大小写(或者只需匹配某个特定部分)的搜索操作中比较常见,如下所示:

The phrase "regular expression" is often
abbreviated as RegEx or regex

执行正则表达式 [Rr]eg[Ee]x ,输出结果如下:

正则表达式匹配多个字符中的一个

这里使用的模式包含两个字符集合: [Rr] 负责匹配字母 R 和 r , [Ee] 负责匹配字母 E 和 e ,
这个模式可以匹配 RegExregex ,但是不匹配 REGEX