什么都不会怎么做网站,wordpress生成的网页,国外网站 备案,机械加工网上平台1要提取大量烧成的一部分。有一个目标词和之前和之后单词的数量上限。因此所提取的子必须包含单词之前和之后它的上界目标字一起。在之前和之后的部分可以包含少言#xff0c;如果目标字更接近文本的开头或结尾。进行了串Lorem存有胡萝卜#xff0c;增强大学生开发者如果目标字更接近文本的开头或结尾。进行了串Lorem存有胡萝卜增强大学生开发者但他们occaecat时间和活力如劳动力和肥胖。多年来来谁nostrud锻炼学区工作除非他们aliquip优势来自它。作业如果cupidatat消费者找到乐趣想成为一名足球cillum他要躲避痛苦不会产生任何结果。excepteur cupidatat黑人就不是excepteur是舒缓的灵魂那就是他们抛弃了那些谁是责怪你的烦恼的一般责任。目标的话工作words_before5words_after2应该返回[veniam, quis nostrud exercitation ullamco laboris nisi ut]1个思想几个可能的模式但没有一次成功。 1猜它也可以通过简单地遍历发射前从目标背单词做。不过正则表达式肯定会令事情变得更容易。任何帮助将不胜感激。感谢所有的答案。 所有这些都按预期工作。 正则表达式对我来说最方便因为我的字符串中填充了非字母字符如果要拆分单词可以使用slice()和split()功能。 例如 text Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmodtempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eufugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt inculpa qui officia deserunt mollit anim id est laborum..split() n text.index(laboris) s slice(n - 5, n 3) text[s][veniam,, quis, nostrud, exercitation, ullamco, laboris, nisi, ut]If you still want regex....def find_context(word_, n_before, n_after, string_):import reb \w\W * n_beforea \W\w * n_afterpattern ( b word_ a )print(re.search(pattern, string_).groups(1)[0])find_context(laboris, 5, 2, st)veniam, quis nostrud exercitation ullamco laboris nisi utfind_context(culpa, 2, 2, st)sunt in culpa qui officia这似乎总是会给出5个之前和之后的2个。 我认为OP需要前后任意数字。 或者它实际上只是5或2idjaw我做了一个更改现在它是一个函数可以输入参数值。您也可以使用nltk和它的一致方法来接近它受到Calling NLTK的一致性的启发 - 如何在使用的单词之前/之后获取文本A concordance view shows us every occurrence of a given word, togetherwith some context.import nltkdef get_neighbors(input_text, word, before, after):text nltk.Text(nltk.tokenize.word_tokenize(input_text))concordance_index nltk.ConcordanceIndex(text.tokens)offset next(offset for offset in concordance_index.offsets(word))return text.tokens[offset - before - 1: offset] text.tokens[offset: offset after 1]text uLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.print(get_neighbors(text, laboris, 5, 2))在目标词之前打印5个单词/令牌在之后打印2个[uveniam, u,, uquis, unostrud, uexercitation, uullamco, ulaboris, unisi, uut]