Javascript 删除字符串末尾方括号之间的文本
我需要一个正则表达式来删除括号之间的最后一个表达式(也包括括号) 来源:输入[某物][某物2] 目标:输入[某物] 我尝试过这个,但它删除了所有两个:Javascript 删除字符串末尾方括号之间的文本,javascript,regex,Javascript,Regex,我需要一个正则表达式来删除括号之间的最后一个表达式(也包括括号) 来源:输入[某物][某物2] 目标:输入[某物] 我尝试过这个,但它删除了所有两个: "input[something][something2]".replace(/\[.*?\]/g, ''); 不要使用g修饰符,而要使用$锚定: "input[something][something2]".replace(/\[[^\]]*\]$/, ''); 不要使用g修饰符,而要使用$锚定: "input[something][som
"input[something][something2]".replace(/\[.*?\]/g, '');
不要使用
g
修饰符,而要使用$
锚定:
"input[something][something2]".replace(/\[[^\]]*\]$/, '');
不要使用
g
修饰符,而要使用$
锚定:
"input[something][something2]".replace(/\[[^\]]*\]$/, '');
请注意,
\[.*?\]$
将不起作用,因为它将匹配第一个[
(因为正则表达式引擎从左到右处理该字符串),然后将匹配字符串的所有其余部分,直到其末端的]
。因此,它将在输入[something][something 2]
中匹配[something][something 2]
您可以指定字符串结束锚点并使用[^\][]*
(匹配除[
和]
之外的零个或多个字符)而不是*?
:
\[[^\][]*]$
请参阅JS演示:
console.log(
“输入[something][something2]”。替换(/\[^\][]*]$/,“”)
);代码>请注意,\[.*?\]$
将不起作用,因为它将匹配第一个[
(因为正则表达式引擎从左到右处理字符串),然后将匹配字符串的所有其余部分,直到其末尾的]
。因此,它将在输入[something][something 2]
中匹配[something][something 2]
您可以指定字符串结束锚点并使用[^\][]*
(匹配除[
和]
之外的零个或多个字符)而不是*?
:
\[[^\][]*]$
请参阅JS演示:
console.log(
“输入[something][something2]”。替换(/\[^\][]*]$/,“”)
);代码>请尝试此代码
var str=“你好,我是迈克(示例)”;
警报(str.replace(/\s*\(.*?\)\s*/g,,)代码>请尝试此代码
var str=“你好,我是迈克(示例)”;
警报(str.replace(/\s*\(.*?\)\s*/g,,)代码>请将其制作成一个代码段,这样我们就可以看到它在工作。请将其制作成一个代码段,这样我们就可以看到它在工作。谢谢,这段代码很有效。我在10分钟内就接受了谢谢你,这代码行得通。我十分钟后接受minutes@ManicDepression啊,对。现在更新了模式。@ManicDepression啊,是的。现在更新了模式。