【发布时间】:2017-07-02 22:08:56
【问题描述】:
在谷歌文档(不是电子表格)中,我有一堵看起来像
的文字墙 °foo bar header°foo bar bat paragraph°and another paragraph°and yet an other paragraph°and so on
我想把文本分成几段。
所以我想在正则表达式的帮助下获取° 字符之间的文本。我想使用
var rangeElement = body.findText("°([^°]*)°");
但是该正则表达式使谷歌文档变为“服务不可用:文档”。使用像 "°.?°" 这样的正则表达式可以缓解这个问题,但不会隔离我想要的文本。
什么是可以工作的正则表达式?如何继续处理 ( 和 ) 中的子字符串?
【问题讨论】:
-
尝试
var rx = /°([^°]*)/g;,然后尝试while (m=rx.exec(doc.getBody().getText())) { Logger.log("Matched: " + m[1]); } -
DocumentApp 的任何类都没有用于正则表达式、字符串或文本的方法 exec。做正则表达式的方法有findText和replaceText。
-
错了。您可以按照我在第一条评论中展示的方式使用 JavaScript RegExp。看起来你甚至没有尝试过我的建议(从我的谷歌脚本复制)。
-
哎呀,我试过了。 :-) 它给了我这些错误:
TypeError: Cannot find function exec in object /°([^°]*)/g. -
编辑问题以显示您是如何尝试的。它在我的脚本中没有问题。