[英]Replace everything before domain javascript (Google Apps Script) regex
[英]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.