2016-02-11 60 views
-1
^Category:\s(.*Movies|Movies RU|Sports|Movies HD| Movies EN HD|Movies RU HD|Documentaries|TV|TV EN)\s 

它匹配所描述的內容,但它也在Category行之後給出其他信息。匹配行首和行尾

想只匹配:

^Category:_whitespace_(Movies|Movies RU|Sports|Movies HD| Movies EN HD|Movies RU HD|Documentaries|TV|TV EN)_whitespace_ 

一切最後_whitespace_應該被忽略後去。

我忘了什麼?

+0

你可以給example_input/desired_output嗎? – tinySandy

+0

您是否在're.compile'的調用中使用're.MULTILINE'或're.DOTALL'? – dasblinkenlight

+0

http://pastebin.com/u5hy7ucF 只是代碼的一部分,也許它提供了更多信息。 – ZeroSuf3r

回答

0

$是在行結尾的符號(類似於^是行首的符號)在正則表達式中。

+0

對於沒有任何細節的Python,這不是真的。 –

0

好吧,我認爲整理出來。這不是最佳解決方案,但它對我有用。

  p = re.compile(ur'^Category:.*?(Movies|Movies RU|Sports|Movies HD| Movies EN HD|Movies RU HD|Documentaries|TV|TV EN)\s') 
      m = p.search(description) 
      if m: 
       final = m.group(0).replace('Category:', '') 
      else: 
       final = 'None'