0

这个正则表达式是什么意思

[^0-9^AZ]

??

它不匹配任何数字并且不匹配任何大写字符?

4

3 回答 3

1

正确的正则表达式:不需要[^0-9A-Z]+第二个,没有 a你只是匹配这种类型的一个字符。^+

请注意,这0-9与此相同\d的最佳正则表达式应该是:[^A-Z\d]+

于 2012-05-16T18:16:07.147 回答
1

当插入符号^位于括号组的开头时,它的意思是“找到除以下项目之外的任何内容”。但是,当它被放置在其他任何地方时,它意味着“与其他项目一起找到插入符号”。你的两者都有,这意味着“找到除了以下项目(包括插入符号)之外的任何东西”。

所以[^A-Z0-9]意思是“找到除大写字母或数字以外的任何字符”

您的正则表达式的[^0-9^A-Z]意思是“查找除大写字母、数字插入符号之外的任何字符。

正如其他人指出的那样,您可能指的是第一个版本,但我认为注意两者之间的区别很重要。

于 2012-05-16T18:22:49.757 回答
0

就目前而言,它匹配除数字、大写字母或抑扬符之外的任何单个字符。

^开头的抑扬符 ( ) 否定字符集。不紧跟左括号的抑扬符被解释为字符集本身的一部分。正则表达式[^^]匹配除抑扬符以外的任何字符。

于 2012-05-16T18:23:58.663 回答