2

我正在为 Google Docs 编写应用程序脚本。我正在使用 findText() 来定位指定字符串的实例。

默认情况下,它区分大小写,我需要删除它,但我不知道如何将 /i 添加到 re2 正则表达式,以便它在应用程序脚本引擎中工作。

在我的示例中,我正在尝试查找 micssys 的所有实例(例如 micssys、Micssys、MICSSYS 等)。

现在我有:

var text = "micssys";
var bodyElement = DocumentApp.getActiveDocument().getBody();
var searchResult = bodyElement.findText(text);

我努力了:

var searchResult = bodyElement.findText("/"+text+"/i");

var searchResult = bodyElement.findText(text+"/i");

var searchResult = bodyElement.findText(text+"(i)");

这些都不起作用。我错过了什么

4

1 回答 1

3

如果我记得,我相信你可以创建一个新的正则表达式对象并exec在这里使用。

var re = new RegExp('\\bmicssys\\b','gi');

var match;
var bodyElement = DocumentApp.getActiveDocument().getBody();
while (match = re.exec(bodyElement)) {
   // match[0] will return the found results
}

注意:您可能必须使用getText()将元素的内容作为文本字符串检索,然后进行匹配。

于 2014-05-28T00:23:22.467 回答