这个正则表达式是什么意思
[^0-9^AZ]
??
它不匹配任何数字并且不匹配任何大写字符?
正确的正则表达式:不需要[^0-9A-Z]+
第二个,没有 a你只是匹配这种类型的一个字符。^
+
请注意,这0-9
与此相同\d
的最佳正则表达式应该是:[^A-Z\d]+
当插入符号^
位于括号组的开头时,它的意思是“找到除以下项目之外的任何内容”。但是,当它被放置在其他任何地方时,它意味着“与其他项目一起找到插入符号”。你的两者都有,这意味着“找到除了以下项目(包括插入符号)之外的任何东西”。
所以[^A-Z0-9]
意思是“找到除大写字母或数字以外的任何字符”
您的正则表达式的[^0-9^A-Z]
意思是“查找除大写字母、数字或插入符号之外的任何字符。
正如其他人指出的那样,您可能指的是第一个版本,但我认为注意两者之间的区别很重要。
就目前而言,它匹配除数字、大写字母或抑扬符之外的任何单个字符。
^
开头的抑扬符 ( ) 否定字符集。不紧跟左括号的抑扬符被解释为字符集本身的一部分。正则表达式[^^]
匹配除抑扬符以外的任何字符。