1

对于以下表达式^swlang/(\d{2})/$

匹配swlang后跟两位整数的字符串。

现在修改此表达式,使其匹配 2 个字符。

我试过了:^swlang/(\S{2})/$但它似乎不起作用。

注意:我正在尝试匹配 django 中的 URL

完整的代码看起来像这样

url(r'^swlang/(\d{2})/$', 'klip.views.swlang'),

因此,例如,将被路由到的 urlklip.views.swlang 将是example.com/swlang/43

想要的可能看起来像example.com/swlang/en

4

1 回答 1

2

字符由一个组表示[a-zA-Z0-9_]

\bswlang/([a-zA-Z0-9_]{2})/?

或者您可以使用预定义的\w

\bswlang/(\w{2})/?$

第一个选项让你定义你想要的任何字符第二个只接受字母、数字和下划线。

在您编辑后,我添加了斜杠,注意最后一个是/?. 这意味着它可能会或可能不会出现在您的网址中

如果您\S按照其他人的指示使用,则example.swlang////匹配,如果这是您想要的,否则请考虑使用我的两个建议之一。

注意:我将^(行首)更改为\b(单词开头),因为您的示例包含“俚语”之前的字符

于 2013-05-11T04:22:07.217 回答