python正则表达式匹配有n个单词的句子

时间:2016-11-28 17:46:43

标签: python regex

我正在寻找一个python正则表达式,它匹配一个字符串前的3个单词的句子。

例如,说我有句子"这是测试"我希望匹配这个,并且只有在字符串测试之前有任何3个单词。

re.match(r'(\d\w+\d){3}test', "this is the test")

认为上述句子可行,但无效。

1 个答案:

答案 0 :(得分:0)

  • 如果您希望匹配字符串包含3个字词,请用空格分隔后跟'test':(\b){3}test
  • 如果您想要提取前3个单词,请用空格分隔后跟'test':(\w+\s+){3}test
  • 如果你想要同样的东西,但想在禁用词之前允许空格:(\w+\s+){3}\w?test
  • 如果你想这样做,但字符串结尾带有停用词:(\w+\s+){3}\w?test$