Regex 在字符串后匹配字符的正则表达式
用于以下表达式:Regex 在字符串后匹配字符的正则表达式,regex,Regex,用于以下表达式:^swlang/(\d{2})/$ 匹配字符串swlang,后跟两位整数 现在,请修改此表达式,使其与2个字符匹配 我试过:^swlang/(\S{2})/$,但似乎不起作用 注意:我正在尝试匹配django中的URL 完整代码如下所示 url(r'^swlang/(\d{2})/$', 'klip.views.swlang'), 例如,一个url将被路由到klip.views.swlang 将是example.com/swlang/43 所需的字符可能看起来像example.
^swlang/(\d{2})/$
匹配字符串swlang
,后跟两位整数
现在,请修改此表达式,使其与2个字符匹配
我试过:^swlang/(\S{2})/$
,但似乎不起作用
注意:我正在尝试匹配django中的URL
完整代码如下所示
url(r'^swlang/(\d{2})/$', 'klip.views.swlang'),
例如,一个url将被路由到klip.views.swlang
将是example.com/swlang/43
所需的字符可能看起来像
example.com/swlang/en
字符由类似[a-zA-Z0-9.]
\bswlang/([a-zA-Z0-9_]{2})/?
或者您可以使用预定义的\w
\bswlang/(\w{2})/?$
第一个选项允许您定义所需的字符,第二个选项只接受字母、数字和下划线
编辑后,我添加了斜杠,注意最后一个是/?
。这意味着它可能出现在您的url中,也可能不存在
如果你使用了<代码> >代码>其他人指出,<代码>示例。SWLAN////</代码>将匹配,如果这是你想要的好,否则考虑使用我的两个建议中的一个。
注意:我将
^
(行首)更改为\b
(单词开头),因为您的示例中包含了“俚语”之前的字符您想匹配什么?为什么在之前(
和之后)有/
)
?您是否尝试过^swlang(\S{2})$
/
将使用\S
进行匹配,因此您不需要那些额外的/
符号,因为您的regexp需要在字符串末尾加一个斜杠,而您的示例没有找到它。\w
是字母数字字符…与字符不同。。从技术上讲。\S包括空格、制表符和换行以外的任何内容。如果OP想要这样做,它将起作用,否则他/她应该指定允许使用哪些字符。