(python)各位朋友,我想问一哈,为啥需要转义?

问:匹配以字母m开头的单词的正则表达式转化为模式字符串,则不能在其两侧添加引号定界符。例如,下面的代码是不正确的:
'\bm\w*\b'
而是需要将其中的\进行转义

我觉得\b是元字符。已经有特殊的含义了,这里不能转义处理....

你可以这么理解,你手写的字符串是需要python翻译成re正则认识的字符串的,但恰恰\b在python第一轮翻译的时候,它是回退符,所以轮到re翻译的时候就没有\b了
因此,可以用r'\bm\w\b',它是原字符串,经第一轮翻译的时候,它还是'\bm\w\b'这时re就认识它了
或者用\转义,可以'\bm\w\b',它经过python第一轮翻译,也变成了'\bm\w\b',这时re也认识它了.

一个字符可以表达多个意义时候,为了区分其作用,所以要转义

比如你字符串里来了个\n 那不就换行了吗,这种的有很多你可以百度一下看看有个了解。你要告诉系统你要输出的是字符串才行,所以有时候用两个斜杠转义。还有一种方法是前面加个r,如r“dgs\ngg”等。当然对于一些路径的问题也是如此。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632