请问str(re.subn(r"\w", "hi", s)[1])中的[1] 有什么用啊?

re.findall(r"\b\w+\b", s)
新手学习python,谢谢了。
str(re.subn(r"\w", "hi", s)[1])中的[1] 有什么用啊?
import re
s = "1abc23def45"
print(str(re.subn(r"\w", "hi", s)[1]))
print(str(re.subn(r"\w", "hi", s)))
结果:
11
('hihihihihihihihihihihi', 11)

慕容森
浏览 188回答 3
3回答

鸿蒙传说

在Python的string前面加上‘r’, 是为了告诉编译器这个string是个raw string,不要转意backslash '\' 。 例如,\n 在raw string中,是两个字符,\和n, 而不会转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上'r'。例:r"\n\n\n\n\n\n”作用:声明后面的字符串是普通字符串特殊字符串中含有:转义字符 \n \t 什么什么的用途:一般用在 正则表达式、文件绝对地址1,正则表达式:2、系统路径这样就不用专门的去处理引号之中的特殊字符了

一只名叫tom的猫

Python中字符串前面加上 r 表示原生字符串,与大多数编程语言相同,正则表达式里使用"\"作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式可以使用r"\\"表示。同样,匹配一个数字的"\\d"可以写成r"\d"。有了原生字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。

湖上湖

re是python里的正则表达式模块。findall是其中一个方法,用来按照提供的正则表达式,去匹配文本中的所有符合条件的字符串。返回结果是一个包含所有匹配的list。[1] 就是列表中的[1]啊
打开App,查看更多内容
随时随地看视频慕课网APP