Javascript 使用正则表达式从字符串中获取

Javascript 使用正则表达式从字符串中获取,javascript,regex,string,Javascript,Regex,String,我需要从字符串中提取 userAllowedCrud['create'] 在[]内的部分 我认为使用正则表达式是更好的方法。我错了吗?您可以使用如下正则表达式:/\[[^\]*\]/\[表示匹配a[,\]表示匹配a],^\]*表示匹配0个或多个非右括号的字符 console.log userAllowedCrud['create'].match/\[[^\]]*\]/[1] ; //输出: //“创建” 如果您需要括号内引号内的内容,有许多解决方案,例如: //对于单引号和双引号 userAll

我需要从字符串中提取

userAllowedCrud['create'] 在[]内的部分


我认为使用正则表达式是更好的方法。我错了吗?

您可以使用如下正则表达式:/\[[^\]*\]/\[表示匹配a[,\]表示匹配a],^\]*表示匹配0个或多个非右括号的字符

console.log userAllowedCrud['create'].match/\[[^\]]*\]/[1] ; //输出: //“创建” 如果您需要括号内引号内的内容,有许多解决方案,例如:

//对于单引号和双引号 userAllowedCrud['create'].match/\[[^\]]*\]/[1]。切片1,-1 //或单引号和双引号: userAllowedCrud['create'].match/\[\\'[^\]*\1\]/[2] //或单引号和双引号: userAllowedCrud['create'].match/\['][^\]*\1\]/[2] //或单引号: userAllowedCrud['create'].match/\['[^\]]*'\]/[1] //或双引号: userAllowedCrud['create'].match/\['[^\]]*'\]/[1] 还有很多其他的方法,这些只是少数。
我建议学习正则表达式:

尝试使用javascript字符串操作

let tempString = "userAllowedCrud['create']";
let key = str => str.substring(
    str.indexOf("'") + 1,
    str.lastIndexOf("'")
);
console.log(key(tempString))

对于示例字符串,可以使用返回数组并指定单引号作为分隔符的字符串

您的值将是数组中的第二项

var string=userAllowedCrud['create'];
console.logstring.split'[1];“我认为使用正则表达式是更好的方法”-要使一件事比另一件事更好,至少需要两件事。。。那么,第二个/其他人会怎么做?谢谢@scagood。但是我需要它,而不是“仅仅创建”而不是“创建”@LeonelMatiasDomingos-您可以使用如下内容:.match/\['][^\]*\1\]/[2]。相反我强烈建议您查看有关regex的更多信息