正则表达式排除字符:``[^]`` 否定字符集用法详解


发布日期 : 2021-08-16 05:57:51 UTC

访问量: 9 次浏览

正则表达式排除字符,字符集合通常用来指定一组必须匹配其中之一的字符,但是在某些场合,我们需要反过来做,既指定一组不需要匹配的字符。
换句话说,就是排除字符集合里指定的那些字符

前面介绍了特殊字符,任意字符,本文介绍由 [^] 组合而成的字符集合,用以排除指定字符集合。

不需要逐个列出你要匹配的字符,可以使用元字符 ^ 来排除某个字符集合,如下所示:

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

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

正则表达式排除字符

[0-9] 只匹配数字,而这里 [^0-9] 匹配的是任何不是数字的字符,也就是说 [ns]a[^0-9]\.xls 将匹配 sam.xls
但不匹配 nal.xls , na2.xlssal.xls

同样道理,我们使用 [^a-z] 匹配任何不是小写字母 a-z 的字符,示例如下:

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

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

正则表达式排除字符

[ns]a[^a-z]\.xls 将匹配 nal.xls , na2.xlssal.xls ,但是不匹配 sam.xls