gpt4 book ai didi

google-apps-script - 在 Google 文档中查找靠近我的光标的正则表达式匹配的文本?

转载 作者:行者123 更新时间:2023-12-03 04:22:18 25 4
gpt4 key购买 nike

我有一个文档,其中包含可以与 this 匹配的文本正则表达式。我想在 Google 文档中找到光标附近与该正则表达式匹配的文本,并向其添加超链接。

问题是,无论出于何种原因,正则表达式似乎找不到文本。结果,我收到错误,因为(本质上)它无法添加指向“null”的超链接。

Google 文档是 here (一些超链接已手动添加,我正在尝试将其自动化,以便添加它们更简单)。

这是我当前使用的代码:

function Insert_Link() {
var doc = DocumentApp.getActiveDocument();
var Title = doc.getName();
var elements = doc.getCursor().getSurroundingText();
var element = elements.findText(/\d(-|\d|:|;|,)+/);
var startOffset = element.getStartOffset();
var endOffset = element.getEndOffsetInclusive();
var selection = element.asText();
var selectedText = selection.getText();
selectedText = selectedText.substring(startOffset, endOffset + 1).trim();
var reference = Title.replace(/(\(.*\))/, "").replace(/^\d{1,2}/, "") + " " + selectedText;
Ref2Link(reference, selection, startOffset, endOffset);
}

我确信我犯了一些愚蠢的错误,但我不知道那是什么。如果有人能告诉我我做错了什么,我将不胜感激。

最佳答案

findText() 的文档说:

A subset of the JavaScript regular expression features are not fully supported, such as capture groups and mode modifiers.

此外,searchPattern 应该是一个字符串,而不是一个正则表达式。 (棘手!)

您的正则表达式包含一个捕获组。这将匹配相同的分组,但没有捕获组:

var element = elements.findText("\d[-\d:;,]+");

关于google-apps-script - 在 Google 文档中查找靠近我的光标的正则表达式匹配的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34224940/

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