正则表达式排除字符,字符集合通常用来指定一组必须匹配其中之一的字符,但是在某些场合,我们需要反过来做,既指定一组不需要匹配的字符。换句话说,就是排除字符集合里指定的那些字符。
极客教程前面介绍了特殊字符,任意字符,本文介绍由[^]
组合而成的字符集合,用以排除指定字符集合。
不需要逐个列出你要匹配的字符,可以使用元字符^
来排除某个字符集合,如下所示:
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.xls
和sal.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.xls
和sal.xls
,但是不匹配sam.xls
。
极客教程相关文章推荐:
正则表达式匹配多个字符中的一个
正则表达式匹配特殊字符
正则表达式匹配任意字符
正则表达式 – 元字符