javascript - 无法获取此正则表达式来提取我的捕获组
问题描述
我知道 google-apps-script 不完全支持正则表达式。但是在我的其他功能上,它提取了我正在寻找的东西。所以看来我在这里遗漏了一些东西。
var teststring = "E37:E61";
var regExp = /\w+(\d+)\:\w+(\d+)/; // no i or g needed here as fas as I think
var extractedNumbers = regExp.exec(teststring);
输出:
[E37:E61, 7, 1]
我还测试过:
var teststring = "E37:E61";
var regExp = new RegExp(/\w+(\d+)\:\w+(\d+)/); // Note that '' are not working I had to use //
var extractedNumbers = regExp.exec(teststring);
输出:
null
额外测试:
var regExp = /\w+(\d+)\:\w+(\d+)/;
var rowsToFill = teststring.match(regExp);
输出:
[E37:E61, 7, 1]
我正在寻找的是:
[37, 61]
解决方案
您应该注意\w
匹配数字。
用于[^\W\d]
匹配除数字以外的任何单词字符,或仅匹配[a-zA-Z_]
:
var teststring = "E37:E61";
var regExp = /[^\W\d]+(\d+):[^\W\d]+(\d+)/;
var extractedNumbers = regExp.exec(teststring);
console.log(extractedNumbers);
// => [ "E37:E61", "37", "61" ]
推荐阅读
- r - 在 ggalt 包中使用“geom_xspline”时的空白绘图输出
- python - 如何防止输出在pySerial中被切断?
- unity3d - 使用 WWW 加载纹理的 Unity 异常
- excel - 当单元格值在同一行中匹配时,将单元格值从一个 Excel 工作簿表复制到另一个
- flask - 烧瓶 - 保留响应标头
- sql - 将多个 xml 元素分解为多个列
- python - Python处理:如何调用多个相同的类
- redis - 设置和删除或只是覆盖?
- python - 运行 Python 文件时 VS Code 错误 22
- python - Tensorflow 形状和 Concat 错误:两个形状中的维度 1 必须相等,但分别为 4 和 5