为什么re.findall返回字母表而不是单词
Tint = open('poem.txt')
text1 = Tint.read()
output = []
for line in text1:
line = line.rstrip()
if re.findall(r'\bTwinkle\b.*?\blittle\b', text1):
output.append(line)
目前我期望的输出是Twinkle Twinkle little
,但是我用这段代码得到的是T
,w
我也希望代码能够在下一行搜索。例如:如果我说re.findall(r'\bTwinkle\b.*?\wonder\b', text1)
,它应该给出Twinkle Twinkle little star How I wonder
。我该怎么做for line in text1
没有帮助
附言:poem.txt
包含诗歌的4行Twinkle twinkle little star
我建议看看
re.findall
的documentation具体问题的答案是
re.findall(r'\bTwinkle\b.*?\blittle\b', text1,re.DOTALL)
或re.findall(r'\bTwinkle\b.*?\blittle\b', text1,re.MULTILINE)
错误1:
text1
是一个字符串对象,然后声明for line in text1
意味着line
将是一个字符错误2:您每次都在整个
text1
中搜索,而不是在单行中我想你想要这样的东西:
注意
readlines()
函数的用法,这样text1
就不是一个字符串而是一个行数组相关问题 更多 >
编程相关推荐