Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在字符串后匹配字符的正则表达式_Regex - Fatal编程技术网

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想要这样做,它将起作用,否则他/她应该指定允许使用哪些字符。