正则表达式排除字符
在处理字符串时,有时需要筛选出特定的字符,而排除其他字符。这时可以使用正则表达式中的排除字符。排除字符用^表示,放在一个字符类中,例如[^a-z]表示匹配除了a~z之外的任何字符。
匹配除特定字符外的所有字符
例如,要匹配除了a~z,A~Z以外的所有字符,可以这样写正则表达式:
[^a-zA-Z]
这个正则表达式会匹配类似于$、#、%、1、2等字符,但不会匹配类似于a、b、C、D等字符。
匹配非数字字符
想要筛选出非数字字符,用正则表达式[^0-9]即可。
[^0-9]
该正则表达式会匹配类似于$、#、%等非数字字符,但不会匹配数字字符。
匹配非空白字符
想要选择所有非空格、制表符和换行符组成的字符,可以使用\d\S,其中\S代表所有非空白字符。
d\S
这个正则表达式会匹配类似于“2b”、“3c”等字符,但不会匹配类似于“ 2”、“\t3”、“\n4”这样的空格、制表符和换行符。
匹配除了多个字符
想要匹配除了多个特定字符外的其它字符,可以将这些特定字符都放到一个字符类里,然后用排除字符[^]。
[^aeiou]
这个正则表达式会匹配除了a、e、i、o、u以外的小写字母。
单独使用^
需要注意的是,当^不作为字符类的第一个字符时,并不表示排除字符。它只是用来表示字符串的开头。因此,当需要匹配以^开头的字符时,可以使用转义字符\。
^ab
这个正则表达式将匹配字符串“^ab”。
结论
使用排除字符,可以筛选出特定的字符,去除不需要的字符,使得处理字符串更便捷。当需要匹配特定字符的时候,只需要将该字符作为字符类放到正则表达式里即可。需要注意的是,排除字符只用在字符类里,而在其它地方只能表示字符串的开头。