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