Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Regex 正则表达式捕获字符串前的所有文本,不使用Google应用程序的前瞻脚本_Regex_Google Apps Script - Fatal编程技术网

Regex 正则表达式捕获字符串前的所有文本,不使用Google应用程序的前瞻脚本

Regex 正则表达式捕获字符串前的所有文本,不使用Google应用程序的前瞻脚本,regex,google-apps-script,Regex,Google Apps Script,因为我不能在GoogleApps脚本中使用正向前瞻,所以我需要找到另一种方法来编写正则表达式。具有正向前瞻的正则表达式如下所示: .+?(?=\nConstant Phrase) 我想在google文档开始的任何一行中捕获常量短语之前的所有文本,不包括常量短语。我希望整个正则表达式匹配是常量短语之前的文本,因为我不确定如何在谷歌文档的谷歌应用程序脚本中引用匹配组。关于我如何用一种在谷歌文档中工作的方法来实现这一点,有什么想法吗?谢谢 Google文档中的文本为: 页面的标题在这里 国家建议 …

因为我不能在GoogleApps脚本中使用正向前瞻,所以我需要找到另一种方法来编写正则表达式。具有正向前瞻的正则表达式如下所示:

.+?(?=\nConstant Phrase)
我想在google文档开始的任何一行中捕获常量短语之前的所有文本,不包括常量短语。我希望整个正则表达式匹配是常量短语之前的文本,因为我不确定如何在谷歌文档的谷歌应用程序脚本中引用匹配组。关于我如何用一种在谷歌文档中工作的方法来实现这一点,有什么想法吗?谢谢

Google文档中的文本为:

页面的标题在这里 国家建议 ……文件的其余部分 我想在这里匹配页面标题

另一个例子是Golang的正则表达式测试程序。我希望整个比赛只是在它的位置或任何文本

我希望整个正则表达式匹配是常量短语之前的文本,因为我不确定如何在谷歌文档的谷歌应用程序脚本中引用匹配组

返回捕获组的数组。通过将括号放在常数短语之前要匹配的部分周围,可以将其从返回的数组中取出,并忽略其余部分。使用\s匹配所有空白,包括换行符

函数myFunction{ var text=DocumentApp.getActiveDocument.getBody.getText; var match=/.*\s+国家建议/.exectext[1]; Logger.logmatch;//=>标题将显示在此处…可能是任何内容 }
你能提供一些样品线吗?为什么^.*?常量短语不起作用?它在perl之类的语言中工作得很好,但是Google Apps脚本中不支持lookaheads。我在上面的正则表达式中没有使用lookahead。忘记正则表达式吧。显示您的GAS代码,您试图在其中使用正则表达式。显示您的文档。regexTester屏幕截图的用途是什么?谷歌文档中的正则表达式与其他任何东西都不一样。对于初学者,如果您使用的是doc.replaceTextregex,则文本将使用内置的regex,并且每行仅测试一个,即,您不能引用两行或使用\n。。它还使用re2正则表达式引擎。或者,您可以使用body.getText将整个文本作为字符串获取,并使用JavaScript ES5正则表达式引擎。。。。我可以继续。但是没有你的气体代码和文件,这是毫无意义的。你用这份文件做什么?提取文本还是替换或删除?你期待什么?