4

我有两个 django 网址,

(r'^groups/(?P<group>[\w|\W\-\.]{1,60})$')
(r'^groups/(?P<group>[\w|\W\-\.]{1,60})/users$'

url 中的正则表达式([\w|\W\-\.])$匹配soccer playerssoccer players/users。有人可以帮助获得与groups和之间的任何内容匹配的正则表达式/。我希望正则表达式匹配组之后的任何内容,直到遇到 /

4

1 回答 1

6

您只需要执行以下操作,这将匹配任何与斜杠匹配的内容:-

regexp = re.compile(r'^group/(?P<group>[^/]+)$')

如果您需要将示例中的 url 与尾随 匹配/user,您只需将其添加到表达式中:-

regexp = re.compile(r'^group/(?P<group>[^/]+)/users$')

例如,如果您需要获取用户 ID,您也可以使用相同的匹配:-

regexp = re.compile(r'^group/(?P<group>[^/]+)/users/(?P<user>[^/]+)$')

然后你可以得到结果:-

match = regexp.match(url) # "group/soccer players/users/123"
if match:
    group = match.group("group") # "soccer players"
    user = match.group("user") # "123"
于 2012-12-04T23:22:36.967 回答