Javascript Regex删除';[';和';]';
一段时间以来,我一直在为这件事伤脑筋。 在javascript中,我有一个字符串表达式,需要在其中删除“[”和“]”之间的空格 例如,表达式可以是:-Javascript Regex删除';[';和';]';,javascript,regex,expression,Javascript,Regex,Expression,一段时间以来,我一直在为这件事伤脑筋。 在javascript中,我有一个字符串表达式,需要在其中删除“[”和“]”之间的空格 例如,表达式可以是:- "[first name] + [ last name ] + calculateAge()" 我希望它成为:- "[firstname] + [lastname] + calculateAge()" 我尝试了以下方括号中的内容,但没有完全达到目的。我如何使这个问题中的正则表达式也适用于方括号 有人能帮忙吗 谢谢, AJ试试看 "[first
"[first name] + [ last name ] + calculateAge()"
我希望它成为:-
"[firstname] + [lastname] + calculateAge()"
我尝试了以下方括号中的内容,但没有完全达到目的。我如何使这个问题中的正则表达式也适用于方括号
有人能帮忙吗
谢谢,
AJ试试看
"[first name] + [ last name ] + calculateAge()".replace(/\[.*?\]/g, function(string) {
return string.replace(/\s/g, '');
})
演示:您可以使用此
"[first name] + [ last name ] + calculateAge()".gsub(/\s+/, "")
这在ruby中有效,如果括号总是正确平衡的,并且从不嵌套,那么您可以这样做:
result = subject.replace(/\s+(?=[^[\]]*\])/g, "");
当且仅当字符串前面有]
字符且没有插入[
或]
字符时,这将替换空白字符
说明:
\s+ # Match whitespace characters
(?= # if it's possible to match the following here:
[^[\]]* # Any number of characters except [ or ]
\] # followed by a ].
) # End of lookahead assertion.
我认为你不可能一步到位。您必须提取括号中的内容,删除其中的空格,然后将其替换回括号中。括号可以嵌套吗?如果是这样,就不能用JavaScript正则表达式来实现。如果没有,则没有问题(如果括号始终正确平衡)。它现在不会嵌套。看起来很简单,谢谢你,阿伦。你能解释一下上面的表达式吗?你测试过了吗?问题是关于JavaScript,而不是Ruby,在Ruby中,结果是
[firstname]+[lastname]+calculateAge()
。