hhhhhhhhzzzzzzzz
2016-03-29 17:32
r'/[[\w]/]'
(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'
再补充一下,()在正则表达式里是表示分组,【】是表示字符集,它们都是有特定含义的,如果不加转义就会让解析器出错。所以这些应该是特例,可以看后面的章节,里面有()的用法
的确需要转义,不转义解析器就会判断错误。我的理解是[]是针对字符集的,如果必须要匹配[],就需要转义。大括号就没有这个问题,中括号应该是一个特例,所以老师特意说明一下
\w不是转义字符啊 它表示的是匹配单词字符
python正则表达式
80575 学习 · 174 问题
相似问题