- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想在字符串上应用正则表达式。为了获得所有组的结果,我使用了 matchAll 方法。这是我的代码
const regexp = RegExp('foo*','g');
const str = "table football, foosball";
let matches = str.matchAll(regexp);
for (const match of matches) {
console.log(match);
}
编译上述代码时出现错误
Property 'matchAll' does not exist on type '"table football, foosball"'
在搜索这个错误的过程中,我在 stackoverflow 上发现了类似的问题
TS2339: Property 'includes' does not exist on type 'string'
我更改了上面链接中提到的 tsconfig 配置,但我的问题没有解决
这是我的 tsconfig 代码;
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"importHelpers": true,
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es2016",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
最佳答案
String.prototype.matchAll()是 ECMAScript 2020 规范(草案)的一部分。在 TypeScript 中,您可以通过在编译器选项中添加 es2020
或 es2020.string
来包含这些库功能:
"compilerOptions": {
"lib": ["es2020.string"]
}
关于typescript - 类型 'matchAll' 上不存在属性 'string',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55499555/
我正在 Node 中创建一个包来解析和操作 csv,并需要使用 String.matchAll() ,但我收到一条错误消息,指出 str.matchAll 不是函数。我尝试切换到 str.match(
我有一个 KV 的 PCollection,其中键是 gcs file_patterns,值是文件的一些附加信息(例如,生成文件的“源”系统)。例如, KV("gs://bucket1/dir1/*"
我想在字符串上应用正则表达式。为了获得所有组的结果,我使用了 matchAll 方法。这是我的代码 const regexp = RegExp('foo*','g'); const str = "ta
运行我的 React Native 应用程序时出现一个奇怪的错误: 一些示例代码: const { url } = ; const reURL = ; console.debug('url:',
我正在使用 Chrome 并执行一段在 JavaScript 中使用 matchAll() 的代码。但是,我只想在定义了 matchAll() 时使用这段代码,这不适用于 Internet Explo
我正在使用 Chrome 并执行一段在 JavaScript 中使用 matchAll() 的代码。但是,我只想在定义了 matchAll() 时使用这段代码,这不适用于 Internet Explo
从 MDN 文档中它指出 matchAll only returns the first match if the g flag is missing. 但是如果你运行这段代码: const rege
我希望 String.prototype.matchAll() 方法也能在边缘浏览器中工作。所以想到使用 the "string.prototype.matchall" npmjs package 我
我正在尝试找出一种方法,无需使用 matchAll() 循环即可将所有第 1 组匹配项放入一个数组中。 这是我到目前为止所拥有的,但它只产生第一个匹配项: let str = "123ABC, 123
ES2020 包含一个新的 String.prototype.matchAll方法,它返回一个迭代器。我确定我错过了一些愚蠢/明显的东西,但我不明白为什么它不只是返回一个数组。 有人可以解释那里的逻辑
当我测试代码时: let result = 'heymama'.matchAll(/m(a)/g); 我收到错误“ 'heymama'.matchAll 不是函数 ” 当我运行版本时: let res
JavaScript 有一个正则表达式类RegExp。您可以直接创建它们 re = new RegExp(...) 或间接创建它们 re =/.../ 大部分传统方法都是我多年编程习惯的 const
我有一个内存中的 Elasticsearch 实例正在运行,并进行了一些探索性编码以学习搜索 Java API。我能够将文档提交到索引并使用 GET 检索它们,但是当我尝试一个简单的搜索查询时,我没有
我在我们的网络应用程序中缓存了一些数据,例如缩略图和 JSON。现在我想在达到磁盘空间时删除旧数据。 Chrome 在他的 web 工具中显示(不完美,它没有显示 self 创建响应的正确时间)缓存存
关注 Grails 3.0.11 Interceptors文档,我编写自己的拦截器如下: class AuthInterceptor { int order = HIGHEST_PRECEDE
我是一名优秀的程序员,十分优秀!