初学python,想请教一个关于正则表达式的原生字符串的问题
re.search("^[0\-9]$","-")!=None
正则指引中说因为pattern是以字符串的形式给出的,在字符串中\本来就是表达转意含义,因此应该表达为re.search("^[0\\-9]$","-")!=None才可以正确表示匹配"0、\、-、9的任意一个
那样的话第一个表达式不应该返回false吗?可是为什么是结果是true呢。。 Python 正则表达式
[解决办法]
-在[]内表示范围,\-转义表示减号本身
\字符串内也不是都转义的,只有后面的字符和\结合有歧义才转义,\-在字符串内并不会产生歧义
你上面第一个正则匹配 -, 0, 9 三个字符,所以为true