正则表达式或匹配字符串只有一个动态更改的部分

时间:2014-08-05 06:19:05

标签: javascript regex

我正在尝试匹配像string这样的目录,其中包含一个可以更改的数字。

示例:/MonkeyText/mserver0/

在尾部斜杠示例后,字符串也可以包含更多内容: /MonkeyText/mserver0/hello/some/thing/yes.ext/MonkeyText/mserver0/hello/some/thing/

然而,我想弄清楚的是,除了可以是0到100000及以上的任何数字之外,最好的方法是查看有问题的字符串是否只是/MonkeyText/mserver0/而没有别的。我不是100%我应该如何处理这个问题,这并不涉及拆分字符串并尝试计算拆分后其中有多少值,然后试图弄清楚最后一个数字是否是数字。这种方式听起来可能比需要更多。

1 个答案:

答案 0 :(得分:0)

使用开始和结束模式完全匹配。

> var str = "/MonkeyText/mserver0/foo";
undefined
> var result = str.match(/^\/MonkeyText\/mserver\d+\/$/g)
undefined
> result
null
> var str = "/MonkeyText/mserver0/";
undefined
> var result = str.match(/^\/MonkeyText\/mserver\d+\/$/g)
undefined
> result
[ '/MonkeyText/mserver0/' ]

OR

> var valid = /^\/MonkeyText\/mserver\d+\/$/.test("/MonkeyText/mserver0/");
undefined
> valid
true
> var valid = /^\/MonkeyText\/mserver\d+\/$/.test("/MonkeyText/mserver0/foo");
undefined
> valid
false