javascript - 为什么这些声明正则表达式的不同方式不会产生相同的结果?
问题描述
这是以两种不同方式声明相同模式的代码
let reg = new RegExp("\d+"); // 1st way
let reg2 = /\d+/; // 2nd way
let string = "one two 100";
console.log(reg.test(string)); // false
console.log(reg2.test(string)); // true
我正在阅读“Eloquent JavaScript”一书,他们说这两种声明正则表达式的方式是等价的,但我不知道为什么上面的代码会产生不同的结果。
解决方案
推荐阅读
- reactjs - React.lazy & Suspence,懒加载组件
- kotlin - 如何使用构造函数注入制作模拟测试用例
- swift - Swift Combine 中的 ReactiveSwift Action
- r - 当满足条件时,在 R 中嵌套循环以给出 DF 位置
- java - Java LWGJL opengl 缓冲区数据
- android - 运行应用程序时出错。未找到目标设备
- github-pages - 在 Netlify CMS 的 config.yml 中,如何指定站点位于 repo 的子目录中?
- graphql - 为 writeQuery/readQuery 获取当前 Apollo GraphQL 缓存变量的更好方法?
- node.js - 通过检查数组 Mongodb 中的值从双重嵌套数组中进行投影
- c# - 如何使用 C# stackalloc 并保持相同的代码结构?