测试第三级斜杠的正则表达式?

Unk*_*own 1 javascript regex

我想要一个正则表达式来测试一个只进入第二级的URL /例如:

/brands/level2   -- this is a match


/brands/level2/level3 -- this is not a match
Run Code Online (Sandbox Code Playgroud)

我有这个使用的正则表达式:

/brands/.+
Run Code Online (Sandbox Code Playgroud)

但这也增加了level3网址.

注意:级别和级别可以是任何东西,我只是在这里使用它们用于说明目的

p.s*_*w.g 5

只需使用否定字符类:

^/brands/[^/]+$
Run Code Online (Sandbox Code Playgroud)

这将匹配以开头的字符串/brands/,并包含一个或多个字符比其他 /.start(^)和end($)锚点确保在匹配的子字符串之前或之后不允许其他字符.

另外,不要忘记,/如果用作正则表达式文字,则必须转义前两个字符(不需要转义第三个字符,因为它在字符类中):

var myRE = /^\/brands\/[^/]+$/;
Run Code Online (Sandbox Code Playgroud)

或者只是使用该RegExp功能:

var myRE = RegExp("^/brands/[^/]+$");
Run Code Online (Sandbox Code Playgroud)

  • @ user2681696您是否尝试过使用锚点(`^`和`$`)? (2认同)