gpt4 book ai didi

javascript - Javascript 中 String.prototype.search() 中的方括号

转载 作者:行者123 更新时间:2023-12-03 07:33:14 24 4
gpt4 key购买 nike

当您在搜索短语中使用方括号 String.prototype.search() 时,似乎会发生一些奇怪的事情:

var text = 'the needle in a [haystick]';
var result1 = text.search('[the] needle'); // 2
var result2 = text.search('[the]needle'); // -1
var result3 = text.search('[haystick]'); // 0
var result4 = text.search('\\[haystick\\]'); // 16
var result5 = text.search('['); // SyntaxError: Unterminated character class .

如果我用 \\ 转义括号,它似乎可以正常工作。但为什么呢?

最佳答案

如果在 String.prototype.search() 中使用字符串作为参数,则该字符串始终会转换为正则表达式。

var result1 = text.search('[the] needle');

相同
var result1 = text.search(/[the] needle/);

为了搜索字符串,您必须使用 String.prototype.indexOf() :

var result3 = text.indexOf('[haystick]');     // 16

关于javascript - Javascript 中 String.prototype.search() 中的方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35726899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com