我有一根绳子。我想把这个字符串分成子字符串,子字符串中包含一个包含单词的数字,两边都有(最多)4个单词。如果子串重叠,它们应该合并。你知道吗
Sampletext = "by the way I know 54 how to take praise for 65 excellent questions 34 thank you for asking appreciated."
re.findall('(\s[*\s]){1,4}\d(\s[*\s]){1,4}', Sampletext)
desired output = ['the way I know 54 how to take praise', 'to take praise for 65 excellent questions 34 thank you for asking']
重叠匹配:使用Lookaheads
这样就可以了:
什么是单词?
输出取决于你对一个词的定义。这里,一句话,我允许数字。这将产生以下输出。你知道吗
输出(允许字中有数字)
选项2:单词中没有数字
输出2
选项3:扩展到四个不间断的非数字单词
根据您的评论,此选项将扩展到轴的左侧和右侧,直到匹配四个不间断的非数字单词。忽略逗号。你知道吗
输出3
相关问题 更多 >
编程相关推荐