Google 文档的 Apps 脚本 findText()

2023-12-03

我正在将正则表达式搜索应用于谷歌文档带有一些 Markdown 代码块刻度 (```) 的文本。在我的文档上运行下面的代码将返回空结果。

var codeBlockRegEx = '`{3}((?:.*?\s?)*?)`{3}'; // RegEx to find (lazily) all text between triple tick marks (/`/`/`), inclusive of whitespace such as carriage returns, tabs, newlines, etc.
var reWithCodeBlock = body.findText(codeBlockRegEx); // reWithCodeBlock evaluates to 'null'

我怀疑我的代码中存在一些不受支持的正则表达式元素RE2,但文档并未阐明这一点。有任何想法吗?


我也收到了 null - 我能够使用 3 ` 围绕段落中的单词 test 来使以下内容正常工作。

我确实找到了这个信息:Apps 脚本中 Text 类对象的 findText 方法,扩展了 Google Docs。文档称“JavaScript 正则表达式功能的子集未得到完全支持,例如捕获组和模式修饰符。”特别是,它不支持环视。

function findXtext() {
var body = DocumentApp.getActiveDocument().getBody();
  var foundElement = body.findText("`{3}(test)`{3}");

while (foundElement != null) {
    // Get the text object from the element
    var foundText = foundElement.getElement().asText();

    // Where in the element is the found text?
    var start = foundElement.getStartOffset();
    var end = foundElement.getEndOffsetInclusive();

    // Set Bold
    foundText.setBold(start, end, true);
  
   // Change the background color to yellow
    foundText.setBackgroundColor(start, end, "#FCFC00");

    // Find the next match
    foundElement = body.findText("`{3}(test)`{3}", foundElement);
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google 文档的 Apps 脚本 findText() 的相关文章

  • 正则表达式拆分数字和字母组,不带空格

    如果我有一个像 11E12C108N 这样的字符串 它是字母组和数字组的串联 如何在中间没有分隔符空格字符的情况下分割它们 例如 我希望分割结果为 tokens 0 11 tokens 1 E tokens 2 12 tokens 3 C
  • 使用 sed 删除大括号对之间的所有内容

    我有一个看起来像这样的字符串 B F blue master F red f k b f k b K black B F green 我想删除匹配的子字符串 它可能包含也可能不包含相同顺序的其他子字符串 我应该得到 master 作为最终输
  • JavaScript RegEx:不同的结果:使用字符串和使用正则表达式“文字”构建模式?

    使用 RegExp 文字与字符串之间有什么区别吗 http jsfiddle net yMMrk http jsfiddle net yMMrk String prototype lastIndexOf function pattern p
  • 如何删除 GMail 标签 - Google Apps 脚本

    我想从放回收件箱的每封邮件中删除 后续 标签 我尝试了几件事 但仍然没有成功 我希望有人可以帮助我或为我指明正确的方向 涉及的函数是 function moveToInbox page GmailApp moveThreadsToInbox
  • Perl 非贪婪

    我遇到非贪婪正则表达式 regex 的问题 我已经看到有关于非贪婪正则表达式的问题 但它们没有回答我的问题 Problem 我正在尝试匹配 lol 锚点的 href Note 我知道这可以通过 Perl HTML 解析模块来完成 我的问题是
  • 什么时候在“strsplit”中设置“perl=TRUE”不起作用(按预期或根本不起作用)?

    我只是在尝试优化一些代码时做了一些基准测试并观察到strsplit with perl TRUE is faster比跑步strsplit with perl FALSE 例如 set seed 1 ff lt function paste
  • Java 正则表达式中 \w 和 \b 的 Unicode 等效项?

    许多现代正则表达式实现解释 w字符类简写为 任何字母 数字或连接标点符号 通常 下划线 这样 正则表达式就像 w 匹配像这样的词hello l ve GO 432 or gefr ig 不幸的是 Java 没有 在爪哇 w仅限于 A Za
  • 如何在 iPhone 应用程序中使用正则表达式以 , (逗号)分隔字符串

    我必须读取包含三列的 csv 文件 在解析 csv 文件时 我得到了这种格式的字符串克里斯托弗 巴斯 为心爱的国家哭泣 期末论文 电子邮件受保护 cdn cgi l email protection 我想将三列的值存储在一个数组中 所以我使
  • C++ 正则表达式,未知转义序列 '\.'警告

    我第一次尝试在 C 中使用正则表达式 我对转义序列有点困惑 我只是想匹配字符串开头的点 为此 我使用表达式 它有效 但我的编译器 g 生成警告 warning unknown escape sequence regex self regex
  • 如何使用 Google 文档附加脚本查看旧版本的代码

    我制作了一个可在 05 21 运行的附加组件 从那时到现在的某个时刻 它破裂了 旧代码不再出现在修订历史中 只能追溯到 05 22 我测试过version 1 并且它有效 这意味着它使用了正确的代码 我可以运行这个工作版本 但我不知道如何重
  • 正则表达式:匹配未包含在 [] 中的空格

    例如 对于这个字符串 div img wrapper img title Hello world 我想匹配第一个空格 但不匹配第二个空格 包含在 中 正则表达式是什么 以下表达式将通过使用前瞻断言来完成这项工作 gt 下划线代表空格 该表达
  • javascript 和 PHP 中的正则表达式有什么区别吗?

    这是在 javascript 中验证电子邮件地址的正则表达式 我不确定是否可以直接在 PHP 中使用它 a z d u00A0 uD7FF uF900 uFDCF uFDF0 uFFEF a z d u00A0 uD7FF uF900 uF
  • Laravel 验证规则仅针对字母

    我正在尝试添加验证规则以仅接受信件 我正在使用regex规则 但它仍然不起作用 下面是我的代码 Validate request input this gt validate request name gt required regex p
  • 数字和小数的输入掩码

    在测试我的程序后 我发现了以下错误 我在 sqlserver 中的表包含 价格数字 6 2 我的程序的用户输入价格 555 00 就很好了 但是当他输入 555555 时 这是错误的 所以我需要指定掩码 其中尾数是可选的 0 到 999 小
  • 正则表达式,提取不在两个括号之间的字符串

    好的正则表达式问题 如何提取不在两个字符之间的字符 在本例中是括号 我有一个字符串 例如 字1 字2 字3 字 4 我只想获取第一个和最后一个 管道 而不是括号之间的第二个 管道 我已经尝试了无数次负克拉和负分组的尝试 但似乎无法使其发挥作
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • 将 JSON 数据导入 Google 表格

    我从 Web 服务中提取数据 其格式为 JSON 我正在为 Google Sheets 编写一个 Google Apps 脚本 它将为我填充数据 我的问题是 我似乎无法解析它 Doing var dataset myJSONtext Bro
  • Python 中的正则表达式匹配长度超过八个字母的任何内容

    尽管尝试掌握 grep 和相关的 GNU 软件 但我还没有接近掌握正则表达式 我确实喜欢它们 但我还是觉得它们有点碍眼 我想这个问题对某些人来说并不困难 但我花了几个小时试图弄清楚如何在我最喜欢的书中搜索大于一定长度的单词 最后 想出了一些
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • IE 中的 Google 文档查看器

    我到处寻找解决方案 但找不到 我在用着谷歌文档查看器 https drive googleblog com 2009 09 view online files using google docs html查看 PDF 文件 这是一个很棒的工

随机推荐

  • Flutter:请求的资源上不存在“Access-Control-Allow-Origin”标头

    我已经使用 python Flask 创建了 REST GET API 它的代码如下 app Flask name app route youtube def firstGetAPI try url request args get url
  • 我们可以使用 Meteor 框架和 mysql 数据库吗

    我发现很多 Meteor 框架的参考网址 其中我发现 mongodb 作为数据库 因为我对 mongodb 没有太多了解 那么有没有办法实现mysql而不是mongodb There is一种方式 但就目前的框架而言 它是一条未铺砌的道路
  • 多线程聊天服务器

    我是线程新手 我正在尝试从服务器向客户端广播消息 但我不能 看起来服务器总是在侦听新连接 但我可以使用客户端终端向其他客户端发送消息 我的问题是如何在聆听的同时允许输入 这是代码 多线程聊天服务器同步 java import java io
  • 为什么我收到错误无法解析模块路径? Eslint 与 Typescript

    我阅读了很多资源 包括将 eslint 与 Typescript 结合使用 无法解析模块的路径 我一次又一次地遇到同样的错误 yarn lint 2 24 error Unable to resolve path to module com
  • 查找非 Visual C# 组件

    我尝试了多种方法来列出表单的所有非可视组件 例如 OpenDialog ImageList TableAdapters 等 但找不到任何内容 为了找到屏幕上的控件 我在 控件 屏幕中使用了 Foreach 但对于那些非可视组件我什么也没找到
  • 使用 JNI 时 Eclipse 对 C 文件的行为令人惊讶,为什么会这样?

    我正在开发一个 Android 应用程序 其中使用了大量 JNI 代码 最近 从过去 2 3 天开始 我真的对 Eclipse 的意外行为感到恼火 一旦我打开 c 文件 它就会显示模糊的错误 但是 如果我关闭并重新打开项目 错误就会消失 请
  • 获取一个月内的工作日

    我正在尝试获取给定月份内的日期 我的计划是 获取给定月份的开始日期和结束日期 获取该范围内的所有日期 迭代它们并使用以下方法消除周末内的日期isDateInWeekend method 其余日期为工作日 所以我创建了两个NSDate扩展方法
  • groovy++ 发生了什么? [关闭]

    Closed 这个问题是无关 目前不接受答案 我刚刚偶然发现了 groovy 发现它非常有趣 不幸的是 它似乎没有进一步发展 根据 github 的说法 最后一次提交是一年多前 邮件列表完全不活跃 最后一条消息是在四月份返回的 最近没有这方
  • 如何从 XML 文档中删除所有文本

    如何删除所有文本 但保持结构完整 例如
  • 清除MySQL查询缓存而不重新启动服务器

    有什么办法可以clear mysql 查询缓存无需重新启动 mySQL 服务器 我相信你可以用 RESET QUERY CACHE 如果您运行的用户具有重新加载权限 或者 您可以通过以下方式对查询缓存进行碎片整理 FLUSH QUERY C
  • MySQL - 来自另一个表的总和

    我想运行一个包含另一个表中的总和的 select 语句 我知道我可能需要设置一个连接 但我不知道如何处理它 我想选择一个帐户列表 然后获取它们的余额 来自另一个表的总和 这是我一直以来的想法 但显然它是不正确的 SELECT account
  • 如何从 Android 应用程序将 db 文件上传到 google 驱动器?

    我想将数据库文件从我的应用程序上传到谷歌驱动器 我可以在谷歌驱动器中创建一个文件夹 但我不知道如何上传数据库文件 这是我的代码 import java io BufferedInputStream import java io Buffer
  • 使用 Gatsbyjs 包含本地 JS 和 CSS 文件

    我对这个完全陌生gatsbyjs生态系统 同时我正在学习一些reactjs 我最近购买了一个 html 模板 并尝试将其用作 UIgatsbyjs应用 该模板有很多 css 和 js 无论是专有的还是定制的 这意味着没有插件gatsbyjs
  • 添加对 Jtree 的拖放支持

    我想为我的 JTree 应用程序添加拖放支持 我创建了一个自定义的 DefaultMutableTreeNode 子类 有一个默认的 TreeCellRenderer 我需要添加哪些内容以及在哪里添加 最简单的方法是1 调用tree set
  • UIWebView 没有释放内存

    我在尝试恢复分配给 a 的内存时遇到了一些真正的麻烦UIWebView在我的应用程序中 我本质上是创造并呈现UIWebView暂时为用户单独ViewController 然后删除所有引用并弹出ViewController从堆栈中 尽管做了所
  • 如何使用 Lambda 函数对 Alexa Skill 应用程序进行异步 API 调用?

    我想从 Lambda 函数调用 api 我的处理程序由包含两个必需插槽的意图触发 因此我事先不知道我是否会退货Dialog Delegate指令或我对 api 请求的响应 在调用意图处理程序时 我如何承诺这些返回值 这是我的处理程序 con
  • 更新过期的 iO​​S MDM 配置文件

    因此 我设置了 SCEP 服务器来生成 iOS 身份证书 该证书仅在短时间内有效 当它过期时 配置文件会显示 此配置文件已过期 请更新此配置文件以获取更新版本 并显示 更新配置文件 按钮 然而 单击此按钮只会告诉我 无法更新配置文件 请联系
  • 查找非零元素的索引并按值分组

    我用 python 编写了一段代码 它接受 numpy 矩阵作为输入 并返回按相应值分组的索引列表 即 输出 3 返回值为 3 的所有索引 然而 我缺乏编写矢量化代码的知识 不得不使用 ndenumerate 来完成 这个操作只花了大约9秒
  • this.href 与 $(this).attr('href')

    读完这篇文章后net tutsplus com tutorials javascript ajax 14 helpful jquery tricks notes and best practices 我得出的结论是使用这个 href更有效率
  • Google 文档的 Apps 脚本 findText()

    我正在将正则表达式搜索应用于谷歌文档带有一些 Markdown 代码块刻度 的文本 在我的文档上运行下面的代码将返回空结果 var codeBlockRegEx 3 s 3 RegEx to find lazily all text bet