gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 12:22:05 25 4
gpt4 key购买 nike

我有以下输入名称:

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

有人可以为我简化这个,这样我就不必使用多个替换吗?

我需要在不匹配 background-gradient-start-color literally 的情况下获取最后一部分,因为我需要使用相同的正则表达式查找多个名称。

最佳答案

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

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

参见 demo

该值将在第 1 组中。

var re = /\[([^\]]*)\]$/g; 
var str = 'fw_options[testgradient][background-gradient-start-color]';

if ((m = re.exec(str)) !== null) {
document.getElementById("res").innerHTML = m[1];
}
<div id="res"/>

或者使用 lastIndexOf 的非正则表达式方式(粗略的,没有错误检查):

var str = "fw_options[testgradient][background-gradient-start-color]";
var ido = str.lastIndexOf("[");
var idc = str.lastIndexOf("]");
alert(str.substring(ido+1,idc));

关于javascript - 需要正则表达式来查找输入名称 javascript 的最后一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30655494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com