JS正则表达式结果表达式赋值问题
js regex result expression assignment issue
我有一个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"。
我很困惑为什么。
存储在 result
中的值实际上是一个字符串,如下所示:
'"h"+"e"+"l"+"l"+"o"'
这与表达式 "h"+"e"+"l"+"l"+"o"
不同;表达式是一系列计算结果为字符串"hello"
的字符串连接。
谨慎使用console.log
的输出作为确定的指南;它以一种具有美学价值但并不总是精确的方式呈现给定的值。
我很好奇你到底想做什么。
相关文章:
- Javascript变量赋值|
- 无法为打字稿字典赋值
- Javascript-根据赋值顺序,按键合并对象数组
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- 如何通过json对象数组为嵌套对象赋值
- 赋值后的回调函数
- ||(OR)运算符如何在赋值中工作
- 可以使用属性赋值实现多个函数
- 将ECMAScript 6析构函数赋值(ES2015)重构为旧版本的javascript
- 如何在javascript中为全局变量赋值
- 字符串问题的javascript赋值
- JS正则表达式结果表达式赋值问题
- node.js中的继承问题:试图覆盖子类的原型时出现赋值错误
- 变量未正确赋值,可能存在作用域问题(getJSON()中的each()中有一个开关的函数)
- Javascript对象字面量中奇怪的嵌套赋值问题
- 通过JavaScript赋值给Asp.net标签,然后通过c#会话对象传递时的问题
- jQuery异步问题,GET请求后变量赋值
- 为JavaScript变量赋值时出现问题
- 变量赋值 - Javascript 赋值问题
- JavaScript 类变量赋值 - 出了什么问题