Javascript str.search("?")返回Unexpected Quantifier错误

zod*_*zod 5 javascript jquery

我可以使用str.search("me");和搜索字符串str.search("=");

但是当我搜索的时候 str.search("?");

我收到了错误 Unexpected Quantifier.

这是为什么?如何搜索"?"除正则表达式之外的其他内容?

小智 6

"?" 是正则表达式中的特殊字符("量词"之一),表示"匹配前一个零或一次".在这种情况下导致错误,因为它之前没有任何内容.但是,"一个?" 不会抛出异常,但会匹配"b"所以这是一个重要的事情要注意.

如果使用String.search,它采用正则表达式(如karim79指出,它不是唯一的方法),使用"[?]""\\?"/\?/.这些表格会阻止"?" 从被视为特殊的正则表达式构造.

快乐的编码.


kar*_*m79 5

alert(str.indexOf("?")); // returns position as integer if present, -1 otherwise
Run Code Online (Sandbox Code Playgroud)

典型使用场景是:

if(str.indexOf("?") !== -1) {
    // present
}
Run Code Online (Sandbox Code Playgroud)

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/indexOf