Javascript js正则表达式结果表达式赋值问题

Javascript js正则表达式结果表达式赋值问题,javascript,regex,Javascript,Regex,我有一个js字符串,例如: "h" + "e" + "l" + "l" + "o" 它是从正则表达式查询派生的。字符串出现在[…]之间,因此我使用以下公式推导它: var txt = '"blahblahblah["h"+"e"+"l"+"l"+"o"]foobarfoobarr"'; var re = /[^\[\]]+(?=\])/g; var squareParen = re.exec(txt); // squareParen[0] contains ' "h" + "e".. etc

我有一个js字符串,例如:

"h" + "e" + "l" + "l" + "o" 
它是从正则表达式查询派生的。字符串出现在[…]之间,因此我使用以下公式推导它:

var txt = '"blahblahblah["h"+"e"+"l"+"l"+"o"]foobarfoobarr"';
var re = /[^\[\]]+(?=\])/g;
var squareParen = re.exec(txt); // squareParen[0] contains ' "h" + "e".. etc'

// i assumed by assigning the string to a var 
// it would show me the product of its output
var result = squareParen[0];
console.log (result);
现在,根据我的问题,如果我硬编码我的字符串(作为测试)并分配它,当我输出到控制台时,它会像预期的那样读取“hello”。但是,当我使用分配给变量的正则表达式查询的输出时,它按原样输出结果,即“h”+“e”+“l”+“l”+“o”,而不是“hello”


我不明白为什么。

存储在
结果中的值实际上是一个字符串,看起来像:

'"h"+"e"+"l"+"l"+"o"'
它不同于表达式
“h”+“e”+“l”+“l”+“o”
;该表达式是一系列字符串串联,其计算结果为字符串“hello”

使用
控制台.log的输出作为最终指南时要谨慎;它以一种美学上有价值但并不总是精确的方式呈现给定的值


我很好奇你到底想做什么。

因为你的正则表达式匹配
[]
之间的任何东西。尝试摆弄它来理解原因。使用
var result=squarparen[0]替换(/“([^”])“\+?/g,$1”);
解决问题了吗?有趣。它对我的测试字符串“h”+“e”有帮助“……等等。我很想知道这是为什么。对于我从正则表达式中提取的实际值,它们可以包含其他参数,卷曲和圆形,这可能会影响到这一点。如果您需要解决方案,请发布要求。仅举一个例子是不够的。@WiktorStribiżew以上的预期输出是“hello”。感谢您提供有关“@+用户”的提示,现在这很有意义!console.log一直在撒谎哈哈。我正在玩弄一些除臭剂。在这个例子中,除了console之外,您还建议使用什么样的调试方法。Log一般来说,日志记录不能很好地替代调试。特别是对于javascript,只需使用以下语句