gpt4 book ai didi

javascript - 尝试寻找 GAS 的正则表达式后向替代方案

转载 作者:行者123 更新时间:2023-12-02 23:10:52 30 4
gpt4 key购买 nike

似乎有很多关于此的问题,但没有一个完全符合我的需求。

我使用的是 GAS,它不接受正则表达式lookbehind。

我有下面的正则表达式,它应该匹配第五个字符后的 :00。因此忽略前 5 个字符,无论它们是什么。示例可能是 22:45:00。

(?<=^.....)(:00)/g

对于如何在没有后向查找的情况下实现此目的,以便它可以在 Apps 脚本中工作,有什么想法吗?

仅供引用,我想将其添加到这个繁琐的查找和替换功能中

function formatChipTimes() {

var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('K:K').activate();
spreadsheet.getActiveRangeList().setNumberFormat('@')

var range = SpreadsheetApp.getActiveSpreadsheet().getRange("K2:K");
var v = range.getValues();
for ( var r = 0; r < v.length; ++r) {
v[r][0] = v[r][0].replace(/\./g, ":");
v[r][0] = v[r][0].replace(/^0/g, "");
v[r][0] = v[r][0].replace(/^1:0/g, "6");
v[r][0] = v[r][0].replace(/^1:1/g, "7");
v[r][0] = v[r][0].replace(/^1:2/g, "8");
v[r][0] = v[r][0].replace(/^1:3/g, "9");
v[r][0] = v[r][0].replace(/^0:/g, "");
v[r][0] = v[r][0].replace(/^:/g, "");
v[r][0] = v[r][0].replace(/:0$/g, "");
v[r][0] = v[r][0].replace(/^\s*$/g, "");

**v[r][0] = v[r][0].replace(/(?<=^.....)(:00)/g, "");**

}
range.setValues(v);
}

谢谢,赞赏。

最佳答案

v[r][0] = v[r][0].replace(/^(.{5})(:00)/, "$1");

这会将正则表达式分为两个捕获组,并且 "$1" 仅返回第一组。

关于javascript - 尝试寻找 GAS 的正则表达式后向替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57367378/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com