没有语法或用法上不正确,只是举例有误。
换成5,[\d^5]和 [0-9^5] 等价吗?
[\d^5] 和效果和 [\d\^] 是一样的。因为\d 包含5, [\d^5]是不成立的。^必须放在[之后,如[^5]。就是说,[ ] 只能表示包含或不包含,但不能同时表示包含和不包含。
也就是说,如果 ^ 不跟在 [ 后面的话,只表示匹配 ^ 字符,而不是表示“不包含”匹配规则。
当然,因为从正则看出你的本意是匹配0-9但不匹配5,从这个方面来看,是不对的。但是,
[\d^5]和[0-9^5]都等同于 [\d\^] 或者是[0-9\^] 也就是说,实际上也是相同的。只不过可能不是你想要的结果罢了。
希望对你有所帮助。