正则表达式,[\d]能替代[0-9]且代表所有数字吗?[\d^0]能和[0-9^0]等价吗?
问题描述:
正则表达式,[\d]能替代[0-9]且代表所有数字吗?[\d^0]能和[0-9^0]等价吗?
答
[\d] 等价于 [0-9]
[\d^0] [0-9^0] 这两个是不正确的,应该使用 [1-9]没有语法或用法上不正确,只是举例有误。换成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\^] 也就是说,实际上也是相同的。只不过可能不是你想要的结果罢了。希望对你有所帮助。