【发布时间】:2019-08-07 18:35:34
【问题描述】:
由于我无法在 Google Apps 脚本中使用正向前瞻,我需要找到另一种方法来编写正则表达式。具有积极前瞻的正则表达式如下所示:
.+?(?=\nConstant Phrase)
我想在谷歌文档开头的任何一行中捕获“常量短语”(不包括“常量短语”)之前的所有文本。我希望整个正则表达式匹配是常量短语之前的文本,因为我不确定如何在 Google Apps Script for Google Docs 中引用匹配组。关于如何使用适用于 Google Docs 的方法来完成此任务的任何想法?谢谢!
Google 文档中的文字是:
Title of the Page Goes Here
National Recommendation
....rest of document
我想匹配(在这种情况下)"Title of the Page Goes Here"。
在 Golang 的正则表达式测试器中看到的另一个示例。我希望 整个 匹配只是 <headline> 或任何可能在其位置上的文本。
【问题讨论】:
-
你能提供一些示例行吗?为什么
^(.*?)Constant Phrase不起作用? -
它在 perl 等中运行良好,但在 Google Apps 脚本中不支持前瞻。
-
我没有在上面的正则表达式中使用前瞻。
-
忘记正则表达式。显示您尝试使用正则表达式的 GAS 代码。显示您的文档。 regexTester 屏幕截图有什么用途? Google 文档中的正则表达式与其他所有内容都不相同。对于初学者,如果您使用
doc.replaceText(regex,text),它会使用内置的正则表达式,并且每行只测试一个,即,您不能引用两行或使用\n.. 它还使用re2正则表达式引擎。或者,您可以使用body.getText()将整个文本作为字符串获取并使用 JavaScript ES5 正则表达式引擎......我可以继续。但是没有你的 GAS 代码和文件,那是没有意义的。 -
你在用这个文件做什么?提取文本或替换或删除?你期待什么?