Discuss / Python / 转义的处理有些不理解

转义的处理有些不理解

Topic source

Mahogany3

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

按照老师的说法“-”是特殊符号,即使在正则表达式字符串内也要加\转义,但是原文并没有加却可以匹配上。

经过测试加了和没加都可以匹配上,有人可以解答吗。

import re
m = re.match(r'^(\d{3})\-(\d{3,8})$', '010-12345')
m
m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
m

廖雪峰

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

正则需要解析表达式,解析的时候必须无歧义。有的地方加不加\都没有歧义,有的地方必须加

Mahogany3

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

谢谢老师解惑

廖雪峰

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

一句话总结就是你吃不准加还是不加的时候,加上不会错


  • 1

Reply