为了账号安全,请及时绑定邮箱和手机立即绑定

为什么匹配的字符前面有r后面还可以使用转移符?

r'/[[\w]/]'

正在回答

4 回答

(1)在Python的string前面加上‘r’, 是为了告诉编译器这个string是个raw string,不要转意backslash '\' 。 例如,\n 在raw string中,是两个字符,\和n, 而不会转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上'r'。

(2)[\w]  匹配一个字集      (   [...]   匹配字集 )

ma = re.match(r'\[[\w]\]','[a]')   #\[   \] 要匹配[当是是a-zA-Z0-9] ,例:[a]
print ma.group()
[a]

ma = re.match(r'[\w]','a')
print ma.group()
'a'


0 回复 有任何疑惑可以回复我~

再补充一下,()在正则表达式里是表示分组,【】是表示字符集,它们都是有特定含义的,如果不加转义就会让解析器出错。所以这些应该是特例,可以看后面的章节,里面有()的用法

0 回复 有任何疑惑可以回复我~

的确需要转义,不转义解析器就会判断错误。我的理解是[]是针对字符集的,如果必须要匹配[],就需要转义。大括号就没有这个问题,中括号应该是一个特例,所以老师特意说明一下

0 回复 有任何疑惑可以回复我~
#1

无名小小卒3355288

小括号也要
2016-05-17 回复 有任何疑惑可以回复我~

\w不是转义字符啊 它表示的是匹配单词字符

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么匹配的字符前面有r后面还可以使用转移符?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信