[英]How to regex test a string for a pattern while excluding certain characters?
我对此一无所知...
我需要测试一个字符串是否包含%2
并且同时不包含/
。 我不能使它使用正则表达式工作。 这是我所拥有的:
var re = new RegExp(/.([^\/]|(%2))*/g);
var s = "somePotentially%2encodedStringwhichMayContain/slashes";
console.log(re.test(s)) // true
问题 :
我如何编写一个正则表达式来检查字符串是否包含%2
而不包含任何/
斜杠?
请尝试以下操作:
^(?!.*/).*%2
尽管Sebastian S.所指的链接是正确的,但是有一种更简单的方法可以执行此操作,因为您只需要检查字符串中是否没有单个字符即可。
/^[^\/]*%2[^\/]*$/
编辑:太晚了...哦,很好:P
都可以使用逆匹配,如下所示: 正则表达式匹配不包含单词的行?
或在if语句中使用indexOf(char)。 indexOf返回字符串或char在字符串中的位置。 如果找不到,它将返回-1:
var s =“ test /”; if(s.indexOf(“ /”)!=-1){
//包含“ /”
}其他{
//不包含“ /”}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.