连续句点的javascript搜索字符串
如何在一行中搜索多个句点的字符串,例如“…”。 string.search(/…/); string.search(“[…]”); 即使检测到单个周期,上述值也将返回true。 string.search(“…”); 更糟糕的是,它总是返回true,即使没有周期连续句点的javascript搜索字符串,javascript,regex,string,search,Javascript,Regex,String,Search,如何在一行中搜索多个句点的字符串,例如“…”。 string.search(/…/); string.search(“[…]”); 即使检测到单个周期,上述值也将返回true。 string.search(“…”); 更糟糕的是,它总是返回true,即使没有周期 var banlist = ["item1", "item2", "[...]"]; 我正在搜索列表中的每个字符串,我需要能够搜索“…” 编辑: 现在我有一个新问题。三个句点正好是unicode字符8230,在搜索中找不到它。
var banlist = ["item1", "item2", "[...]"];
我正在搜索列表中的每个字符串,我需要能够搜索“…”
编辑:
现在我有一个新问题。三个句点正好是unicode字符8230,在搜索中找不到它。除了三个“…”之外,可以找到任何其他句点序列。您需要使用反斜杠转义字符
let str = "som.e ra...ndom s.tring..";
console.log(str.match(/\.{2,}/g));
其中,{2,}表示一行中必须至少有2个字符,/g表示应计算整个字符串。请注意。已转义。
例如“\\.\.”或“\\.{2}”
search()对于获取模式第一次出现的索引非常有用。如果找不到模式,则返回-1
string.search('\\.{2}')
使用string.search遍历列表可能类似于
for (let i = 0; i < banlist.length; i++) {
if (banlist[i].search('\\.{2}') != -1) {
// Do something
}
}
for (let i = 0; i < banlist.length; i++) {
if (banlist[i].match('\\.{2}')) {
// Do something
}
}
使用string.match遍历列表将类似于
for (let i = 0; i < banlist.length; i++) {
if (banlist[i].search('\\.{2}') != -1) {
// Do something
}
}
for (let i = 0; i < banlist.length; i++) {
if (banlist[i].match('\\.{2}')) {
// Do something
}
}
for(设i=0;i
正则表达式中的点(
)具有特殊含义。你将不得不逃避它。请尝试/\.{3}/
是否可以更新您的问题并显示您的尝试,谢谢.string.search([“]{2,})。这与周期的两次或多次匹配。