初学python,想请问一个关于正则表达式的原生字符串的有关问题


        初学python,想请教一个关于正则表达式的原生字符串的问题<br />

re.search("^[0-9]$","-")!=None

正则指引中说因为pattern是以字符串的形式给出的,在字符串中\本来就是表达转意含义,因此应该表达为re.search("^[0\-9]$","-")!=None才可以正确表示匹配"0、\、-、9的任意一个


那样的话第一个表达式不应该返回false吗?可是为什么是结果是true呢。。

perl 程序开发 Perl语言基础

寂寞笑处男 10 years, 8 months ago

-在[]内表示范围,-转义表示减号本身

\字符串内也不是都转义的,只有后面的字符和\结合有歧义才转义,-在字符串内并不会产生歧义


你上面第一个正则匹配 -, 0, 9 三个字符,所以为true

黑化惠会发挥 answered 10 years, 8 months ago

Your Answer