js正则表达式判断字符串包含/cluster,并且不是/clusters
时间: 2023-08-18 15:05:20 浏览: 191
可以使用正则表达式来判断一个字符串是否包含某个子串,并且不包含另一个子串。对于这个问题,可以使用如下的正则表达式:
/^.*\/cluster(?!s).*$/g
解释一下这个正则表达式:
^.*
:表示从字符串开头开始匹配任意字符(包括空字符)0次或多次。\/cluster
:表示匹配 "/cluster" 子串,其中 / 需要使用转义字符。(?!s)
:表示不匹配 "s" 字符,其中 "?" 表示零宽负向先行断言。.*$
:表示匹配任意字符(包括空字符)0次或多次,直到字符串结尾。/g
:表示全局匹配模式。
这个正则表达式的意思是:匹配以任意字符开头,后面包含 "/cluster" 子串,但是不包含 "/clusters" 子串的字符串。
下面是一段示例代码:
const str1 = "/cluster/abc";
const str2 = "/clusters/abc";
const str3 = "/clusterdef";
const regex = /^.*\/cluster(?!s).*$/g;
console.log(regex.test(str1)); // true
console.log(regex.test(str2)); // false
console.log(regex.test(str3)); // true
可以看到,对于符合条件的字符串,test 方法会返回 true,否则返回 false。
相关推荐















