我无处可去......
如果字符串包含%2
且同时不包含/
,我需要对其进行测试。我无法使用正则表达式来工作。这就是我所拥有的:
var re = new RegExp(/.([^\/]|(%2))*/g);
var s = "somePotentially%2encodedStringwhichMayContain/slashes";
console.log(re.test(s)) // true
问题:
如果字符串包含%2
而不包含任何/
斜杠,我该如何编写检查字符串的正则表达式?
答案 0 :(得分:2)
尝试以下方法:
^(?!.*/).*%2
答案 1 :(得分:2)
虽然Sebastian S.提到的链接是正确的,但有一种更简单的方法可以做到这一点,因为你只需要检查单个字符是否不在字符串中。
/^[^\/]*%2[^\/]*$/
编辑:太晚了......好吧:P
答案 2 :(得分:1)
使用反向匹配,如下所示:Regular expression to match a line that doesn't contain a word?
或在if语句中使用indexOf(char)。 indexOf返回字符串中字符串或char的位置。如果未找到,则返回-1:
var s =“test /”; 如果(s.indexOf( “/”)!= - 1){
//包含“/”
}其他{
//不包含“/” }