2016-11-28 80 views
-2

我正在尋找一個python正則表達式,它匹配一個字符串前面3個單詞的句子。python正則表達式來匹配有n個詞的句子

例如說我有句子「這是測試」我想匹配這一個,只有在字符串測試之前有任何3個單詞。

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

認爲上述句子會工作,但沒有奏效。

+0

你用'\ d'來表示什麼? –

+1

're.match(r'(\ w + \ s){3} test','這是測試')''怎麼辦? – Mohammad

+0

字邊界...用\ d纏繞它認爲將把每個字符集作爲一個單詞... @ mohammad ...謝謝你的工作。 – DeadDjangoDjoker

回答

0
  • 如果你想比賽串有3個字,用空格(或多個)分離,然後「測試」:(\b){3}test
  • 如果你想提取第3個字,用空格隔開(S其次)通過「測試」:(\w+\s+){3}test
  • 如果你想同樣的事情,但要允許停止字之前的空白(S):(\w+\s+){3}\w?test
  • 如果你想要做的一樣,但用繩子結束 with the stopword:(\w+\s+){3}\w?test$