Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要正则表达式来查找输入名称javascript的最后一部分_Javascript_Regex - Fatal编程技术网

需要正则表达式来查找输入名称javascript的最后一部分

需要正则表达式来查找输入名称javascript的最后一部分,javascript,regex,Javascript,Regex,我有以下输入名称: fw_options[testgradient][background-gradient-start-color] 我需要得到名字的最后一部分: background-gradient-start-color 我能用这个乱七八糟的代码做到这一点: name.replace('][','-').replace(/^[^-]*-/,'').replace(']','').replace('[',''); 但是,我忘记了名称也可以是这样的: fw_options[header

我有以下输入名称:

fw_options[testgradient][background-gradient-start-color]
我需要得到名字的最后一部分:

background-gradient-start-color
我能用这个乱七八糟的代码做到这一点:

name.replace('][','-').replace(/^[^-]*-/,'').replace(']','').replace('[','');
但是,我忘记了名称也可以是这样的:

fw_options[header_boxstyle][background][background-gradient-start-color]
因此,我最终得到了错误的字符串:

backgroundbackground-gradient-start-color
有没有人能帮我简化一下,这样我就不必使用多个替换


我需要在不匹配背景渐变开始颜色的情况下获得最后一部分,因为我需要使用同一正则表达式查找多个名称。

您可以使用正则表达式和捕获组提取该名称:

\[([^\]]*)\]$

该值将位于组1中

var re=/\[([^\]]*)\]$/g;
var str='fw_选项[testgradient][背景渐变开始颜色];
如果((m=re.exec(str))!==null){
document.getElementById(“res”).innerHTML=m[1];
}

您还可以使用其他技巧:

var输入='fw_选项[testgradient][背景渐变开始颜色];

alert(input.replace(/\]/g.)).split(/\[/g).pop());
我很乐意。另外,为了完整性,我添加了一个非正则表达式方法。