如何在javascript中使用表达式查找"​​/"字符

Ujj*_*pta 2 javascript match

我想使用JavaScript和匹配函数从字符串'ujj/jkiiiii/jk'获取所有字符串'/ jk'的索引.我能够找到所有字符串但是当我使用/时,它显示错误.

gra*_*tot 6

如果你想在字符串中获得'/ jk'的位置数组,你可以使用正则表达式:

var str = 'ujj/jkiiiii/jk'
var re = /\/jk/g
var indices = []
var found
while (found = re.exec(str)) {
    indices.push(found.index)
}
Run Code Online (Sandbox Code Playgroud)

/\/jk/g是一个匹配'/ jk'的正则表达式(/被转义,所以它是\/).在http://regexr.com/上学习正则表达式.

或者您可以使用str.indexOf(),但无论如何您还需要一个循环:

var str = 'ujj/jkiiiii/jk'
var substr = '/jk'
var indices = []
var index = 0 - substr.length
while ((index = str.indexOf(substr, index + substr.length)) != -1) {
    indices.push(index)
}
Run Code Online (Sandbox Code Playgroud)

两种情况下的结果都是[3,11] indices变量.