string.split()返回一个列表实例.是否有返回生成器的版本?是否有任何理由反对拥有发电机版本?
我正在使用正则表达式来查找文本正文中出现的字符串模式.一旦我发现字符串模式出现,我想在字符串之前和之后得到x个单词(x可以小到4,但如果仍然有效则最好是~10).
我目前正在使用正则表达式查找所有实例,但偶尔会挂起.有没有更有效的方法来解决这个问题?
这是我目前的解决方案:
sub = r'(\w*)\W*(\w*)\W*(\w*)\W*(\w*)\W*(%s)\W*(\w*)\W*(\w*)\W*(\w*)\W*(\w*)' % result_string #refind string and get surrounding += 4 words
surrounding_text = re.findall(sub, text)
for found_text in surrounding_text:
  result_found.append(" ".join(map(str,found_text)))