我尝试在Google文档中搜索字符串。默认情况下,findText
区分大小写。如何使用不区分大小写的代码。
参考文献中写道:“使用正则表达式在元素的内容中搜索指定的文本模式。”
这就是我尝试过的:
function search(string) {
var pattern = new RegExp(string, "gi");
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var rangeElement = body.findText(pattern);
while (rangeElement) {
var offset =rangeElement.getStartOffset();
var text = rangeElement.getElement().asText().getText();
html += text;
}
}
但是找不到任何东西。我也尝试过:
body.findText(pattern(string));
和body.findText(/string/\i);
我还能尝试其他什么吗?
答案 0 :(得分:1)
我们可以在官方reference中阅读
JavaScript正则表达式功能的一部分不完全 支持,例如捕获组和模式修改器。
此外,请注意使用findText()的模式参数:它必须是字符串,而不是RegExp对象。
答案 1 :(得分:1)
findText()
将正则表达式作为字符串发送。这意味着特殊字符\s
是两次转义的\\s
findText('(?i)Apple') //matches APPLE or AppLe