gpt4 book ai didi

regex - 适用于 Google 文档的 Apps 脚本 findText()

转载 作者:行者123 更新时间:2023-12-04 13:23:51 24 4
gpt4 key购买 nike

我将 RegEx 搜索应用于 Google Document带有一些 Markdown 代码块标记 (```) 的文本。在我的文档上运行以下代码会返回空结果。

var codeBlockRegEx = '`{3}((?:.*?\s?)*?)`{3}'; // RegEx to find (lazily) all text between triple tick marks (/`/`/`), inclusive of whitespace such as carriage returns, tabs, newlines, etc.
var reWithCodeBlock = body.findText(codeBlockRegEx); // reWithCodeBlock evaluates to 'null'

我怀疑我的代码中有一些正则表达式元素不受 RE2 支持。 ,但文档并未阐明这一点。有什么想法吗?

最佳答案

我也收到了 null - 我能够在段落中使用 3 ` 围绕单词 test 使下面的工作。

我确实找到了这个信息:Apps 脚本中文本类对象的 findText 方法,扩展了 Google 文档。文档说“不完全支持 JavaScript 正则表达式功能的一个子集,例如捕获组和模式修饰符。”特别是,它不支持环视。

function findXtext() {
var body = DocumentApp.getActiveDocument().getBody();
var foundElement = body.findText("`{3}(test)`{3}");

while (foundElement != null) {
// Get the text object from the element
var foundText = foundElement.getElement().asText();

// Where in the element is the found text?
var start = foundElement.getStartOffset();
var end = foundElement.getEndOffsetInclusive();

// Set Bold
foundText.setBold(start, end, true);

// Change the background color to yellow
foundText.setBackgroundColor(start, end, "#FCFC00");

// Find the next match
foundElement = body.findText("`{3}(test)`{3}", foundElement);
}
}

关于regex - 适用于 Google 文档的 Apps 脚本 findText(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43741973/

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