我是一个绝对的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