javascript - 所有字符和空白字符的正则表达式模式,直到双换行符

标签 javascript regex google-apps-script

带有以下文字:

** First Header
------------------------------------------------------------

(https://www.stackoverflow.com) Stack Overflow

Description: Stack Overflow

Google (https://www.google.com)

Description: Google


** Second Header

...我如何使用正则表达式匹配直到第二个 header 带有双换行符,所以输出如下:

** First Header
------------------------------------------------------------

(https://www.stackoverflow.com) Stack Overflow

Description: Stack Overflow

Google (https://www.google.com)

Description: Google

使用以下正则表达式(将第一个 header 与所有字符以及空白字符匹配,因此 \s\S 与后续正则表达式文字的用法,以及双线中断的负面前瞻),我觉得我绝对是在正确的轨道上:

RegExp("\\*\\* First Header[\\s\\S]*?(\\r?\\n(?!\\r?\\n))")

...但只输出:

** First Header

最佳答案

你可以使用

/(\*\* First Header[\s\S]*?)(?:\r?\n){3}/

或者只兼容 JS 正则表达式

/(\*\* First Header[^]*?)(?:\r?\n){3}/

参见 regex demo

详情

  • (\*\* First Header[\s\S]*?) - 第 1 组捕获:
    • \*\* First Header - 文字 ** First Header 子字符串
    • [\s\S]*? - 任何 0+ 个字符,尽可能少
  • (?:\r?\n){3} - 出现三个可选的 CR,后跟 LF 字符(因此,有效匹配两个空行)。

关于javascript - 所有字符和空白字符的正则表达式模式,直到双换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54579242/

相关文章:

regex - 如何使用 Perl 解析 runmqsc 命令输出?

javascript - 尝试从电子表格中获取值时获取 "undefined"

javascript - 使用 anchor 标记打开模式时页面重定向到空白链接

javascript - VS 代码 - 无法隐藏从 typescript 文件生成的 javascript 文件

javascript - 如何在 jQuery 中响应 ul li 点击

javascript - 将我的 Curl 变成 NodeJS

javascript - 是否可以结合cordova和android ndk?

java - 正则表达式中的双正斜杠句点

regex - 优化正则表达式解析中文拼音

google-apps-script - 更新/替换 Google 文档上的内嵌图片