连续句点的javascript搜索字符串

时间:2018-05-25 04:59:51

标签: javascript regex string search

如何连续多个句点搜索字符串,例如" ..."。     string.search(/.../);     string.search(" [...]&#34); 即使检测到一个周期,上述内容也会返回true。     string.search(" ...&#34); 这更糟糕,因为它总是返回true,即使没有句号。

    var banlist = ["item1", "item2", "[...]"];

我正在搜索列表中的每个字符串,我需要能够搜索" ..."。

编辑:

现在我遇到了一个新问题。准确地说是三个时期" ..."出现unicode字符8230,在搜索中找不到。除了三个" ..."。

之外,还可以找到任何其他时期序列

2 个答案:

答案 0 :(得分:0)

您需要使用反斜杠 \

来逃避字符
let str = "som.e ra...ndom s.tring..";
console.log(str.match(/\.{2,}/g));

其中 {2,} 表示一行中至少有2个字符, / g 表示整个应该评估字符串。请注意。逃脱了。

答案 1 :(得分:0)

Use \\ to escape the dot in your search.

例如'\\。\\。'或'\\。{2}'

string.search()用于获取模式第一次出现的索引。如果找不到模式,则返回-1。

string.search('\\.{2}')

使用string.search进行列表将类似于

for (let i = 0; i < banlist.length; i++) {
    if (banlist[i].search('\\.{2}') != -1) {
        // Do something
    }
}

如果您不需要索引并且只想知道字符串中是否有2个或更多点,则string.match可能有用,因为当模式不匹配时它返回null。

string.match('\\.{2}')

使用string.match进行列表将类似于

for (let i = 0; i < banlist.length; i++) {
    if (banlist[i].match('\\.{2}')) {
        // Do something
    }
}