我是一個絕對的noob在正則表達式(我有點基本知識,需要幫助一個單詞或短語,如果它是一個短語,然後用連字符分隔每個單詞 - :正則表達式URL幫助:單詞或短語
這是我目前正則表達式,只匹配一個字:
r'^streams/search/(?P<stream_query>\w+)/$
在P只允許URL採取參數
額外注:我使用python re模塊與Django urls.py
有什麼建議嗎?
下面是一些例子:
game
gsl
starcraft-2014
final-fantasy-iv
word1-word2-word-3
更新說明: 基本上,我需要一個正則表達式來擴大現有的一個,所以同樣的正則表達式中,沒有其他一個:
r'^streams/search/(?P<stream_query>\w+)/$
因此,包括新的正則表達式INSIDE這一個,其中?P \ w +是Django認爲參數(並傳遞給函數)的任何詞。
URL定義,其中包括正則表達式: URL(R '^流/搜索/(P \ W +)/ $?', 'stream_search',名稱= 'stream_search')
然後,Django的傳遞該參數爲stream_search功能,這需要該參數:
def stream_search(request, stream_query):
#here I manipulate the stream_query string, ie: removing the hyphens
因此,再次,我需要重新匹配的詞或短語,被傳遞到stream_query參數(如果有必要,第二個)。 所以,我想什麼stream_query已經是:
word1
或 字1,單詞2-WORD3
可不可以給這兩種情況你要匹配的例子嗎? – Darwin
我不確定你想要什麼。我假設你想要一個單詞和一個短語的正則表達式。我建議用「[a-z] +」表示單詞,用[a-z \ - ]表示單詞之間用hypen分隔的內容 – Gaara
@達爾文只需添加幾個示例 – alexcons