Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google Docs API-Text.replaceText正则表达式问题_Javascript_Regex_Google Apps Script_Google Docs Api - Fatal编程技术网

Javascript Google Docs API-Text.replaceText正则表达式问题

Javascript Google Docs API-Text.replaceText正则表达式问题,javascript,regex,google-apps-script,google-docs-api,Javascript,Regex,Google Apps Script,Google Docs Api,我正在尝试做一些非常基本的事情。 它只是使用这个函数进行搜索和替换,它使用了一些我以前从未使用过的专有正则表达式 我想做的很简单,贯穿整个文档,用文本替换占位符。 要匹配的字符串采用以下格式: #请把这个换掉# 通过使用此模式: (\W |^)请换掉这个(\W |$) 复制自此处找到的Google示例() 对于一个让我烦透了的例外情况来说,它绝对可以正常工作。 如果在同一行上有两个或更多占位符,则它们中的任何一个都不会匹配 所以如果我有这样的东西: #请替换我,这里有一些普通文本,也替换我#

我正在尝试做一些非常基本的事情。 它只是使用这个函数进行搜索和替换,它使用了一些我以前从未使用过的专有正则表达式

我想做的很简单,贯穿整个文档,用文本替换占位符。 要匹配的字符串采用以下格式:

#请把这个换掉#

通过使用此模式:

(\W |^)请换掉这个(\W |$)

复制自此处找到的Google示例()

对于一个让我烦透了的例外情况来说,它绝对可以正常工作。 如果在同一行上有两个或更多占位符,则它们中的任何一个都不会匹配

所以如果我有这样的东西:

#请替换我,这里有一些普通文本,也替换我#

这两个都不匹配。 我假设我的表达式没有考虑到这一点,但是很难找到实现正则表达式的文档


有人能帮忙吗?

文档中有这一行:

您可以尝试使用以下正则表达式替换函数:

function googleDocsApi27827395() {
  var body = DocumentApp.getActiveDocument().getBody();
  body.replaceText("(\\W|^)#replace this please#(\\W|$)", "");
}
结果是:

\\W
还与第一个搜索词之后和最后一个搜索词之前的相邻符号相匹配,它们也将被删除。如果不需要该行为,请删除
(\\W | ^)
(\\W |$)

如果在
#…#
之间有3个不同的字符串,则可以使用替换来构建正则表达式:

body.replaceText("#(replace this please|replace me (please|too))#", "");

这行
#请替换我#和#请替换这个#这里的一些普通文本#也替换我#
将变成
,这里的一些普通文本

这就是您在这个阶段使用的正则表达式的文本吗<代码>(\W |^)#请替换此代码(\W |$)?如果没有,请让我们看看。我们还能看到一个真正的示例行吗?是的,名称可以包含空格和字母数字大写字母小写字符。它们实际上是电子表格中的列名称。我正在为工作表中的每一行生成一个新文档,只需将列名替换为行值。这只是文件段落中的普通文本,一个接一个。例如:#飞机运营商的法定名称#作为#交易或作为#运营。操作说明见本TSP附录C。