繁体   English   中英

Google Apps脚本/ Javascript搜索和替换正则表达式无法正常工作

[英]Google Apps Script/Javascript search and replace with regex not working

我知道有很多类似的问题和答案,但我没有运气。

我只想在Google Doc上运行一个正则表达式,并将其替换为大写字母。 我有一个正常的表达式,一个简单的字符串替换工作,但我不能得到任何类型的正则表达式。 我究竟做错了什么?

function searchAndReplace() {
var bodyElement = DocumentApp.getActiveDocument().getBody();
var regExp = new RegExp(/[\n][\n]([^\n]+)[\n][^\n|\s]/gim);
bodyElement.replaceText(regExp, '$1'.toUpperCase());
}

replaceText文档所示,它需要两个参数都有一个string 第一个将自动为您生成一个RegExp 因此,您可以使用正则表达式,但由于此语法限制,您无法将RegExp标志传递给它(在您的示例中为gim )。

此外,由于第二个参数也只接受一个字符串,你不能通知一个函数,这是你需要制作一个正确的toUpperCase (即使使用javascript内置的string.replace函数,你的例子也是错误的) 。

从我刚刚进行的测试中,使用“$&”或“$#”的替换字符串模式也不起作用。

因此,要实现您正在寻找的内容,您必须自己实现此搜索和替换(可能使用findText来帮助“搜索”部分)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM