作业帮 > 综合 > 作业

请问这个python正则表达式是什么意思?matches = re.findall('([^\s\\\]+)',line

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 04:52:27
请问这个python正则表达式是什么意思?matches = re.findall('([^\s\\\]+)',line)
matches = re.findall('([^\s\\\]+)',line)
请问它匹配是的什么?
这个是用来匹配不带空格和反斜杠的字符串.

这里的^匹配非中括号里的字符;\s代表空格;\\\代表字符反斜杠(正则表达式需要双反斜杠来转义,因为\在正则表达式中本身就具有含义)
line = 'haha \\\\ \\ hehe'
matches = re.findall('([^\s\\\]+)', line)
print matches # ['haha', 'hehe']


再问: 谢谢!还是有一点不明白,既然“正则表达式需要双反斜杠来转义”那为什么\s为什么能代表空格,这里的一个反斜杠是什么意思?
如果我要匹配"$"字符,是否要用\\$?
再答: \s的反斜杠不代表转义,而是代表一类字符。如果要匹配$,只需要\$即可。但如果要匹配\s就要这样:
re.findall('\\\s', '\\s')
这里是用两个反斜杠来转义反斜杠的。