Discuss / Python / 转义问题/-

转义问题/-

Topic source

文中提到: 如果要匹配'010-12345'这样的号码呢?由于'-'是特殊字符,在正则表达式中,要用'\'转义,所以,上面的正则是\d{3}-\d{3,8}。

但是实际操作中'-'不加转义符也可以,这有什么问题吗

>>>re.split(r'[\s+,]+', 'a,   b ,  c    d,,         ,')
['a', 'b', 'c', 'd', '']

这种情况怎么弄?为什么最后会留下一个空字符

kkkiioz

#3 Created at ... [Delete] [Delete and Lock User]

'-'不是特殊字符,估计是写错了,文中有些地方不是特殊字符也用了'\'来转义。 至于split,应该是分割符左右无论是否为空都会被分割的。

廖雪峰

#4 Created at ... [Delete] [Delete and Lock User]

除了英文字符和数字,剩下的有需要转义有不需要的,不需要的加上\\也没错


  • 1

Reply