python正则表达式匹配查询字符串路径

时间:2012-03-24 10:23:26

标签: python regex

我正在尝试编写一个正则表达式来匹配包含/?的任何路径,以确定它是否是查询字符串。

要匹配的示例字符串是:/mysite/path/to/whatever/?page=1

到目前为止,我认为这将匹配re.match(r'/\?', '/mysite/path/to/whatever/?page=1')

但它似乎不匹配

3 个答案:

答案 0 :(得分:3)

此代码已经为您编写。无需重新发明轮子:

 import urlparse
 print urlparse.urlparse('/mysite/path/to/whatever/?page=1')

http://docs.python.org/library/urlparse.html#module-urlparse

答案 1 :(得分:1)

这里不需要正则表达式。只需使用in运算符:'/?' in the_string


问题是re.match只查看字符串的开头。 如果你需要RE的力量,你可以使用re.search

答案 2 :(得分:1)

您的问题是您正在使用re.match。该函数在字符串的开头查找匹配项。因此,要么将正则表达式更改为'.*/\?',要么改为使用re.search