javascript - 正则表达式捕获捕获组中的所有内容(包括换行符)

标签 javascript regex

我有一些文本(你们中的一些人会认出这是财富文件的一部分)

A day for firm decisions!!!!!  Or is it?
%
A few hours grace before the madness begins again.
%
A gift of a flower will soon be made to you.
%
A long-forgotten loved one will appear soon.

Buy the negatives at any price.
%

可以看出,这既包含单行文本,也包含 block 文本(如上次fortune中所见)。

我目前有一个正则表达式可以捕获所有单行运势,但是,它不能捕获多行运势。

(?<=%\n)(.*?)(?=\n%)

我知道有一个 /m多行选项,但是,我不希望整个正则表达式都启用多行(我还没有让它以这种方式工作)。

所以我的问题是:如何选择分隔符之间的多行文本 block 作为本地捕获组?应该注意的是,我将在 JavaScript 中使用它。

最佳答案

试试这个,

str.split(/\n%\n/)

这会将字符串拆分为仅包含 % 的行。

关于javascript - 正则表达式捕获捕获组中的所有内容(包括换行符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41274544/

相关文章:

javascript - .db 和 Promise 的问题

javascript - 如果存在于左侧或右侧,如何删除子字符串和逗号

javascript - 匹配没有标签内容的 HTML 文本

javascript - 将图像剪辑为椭圆形

javascript - 修复/转义 javascript 转义字符?

javascript - 将脚本添加到 DOM 对象

python - 将python正则表达式代码拆分为多行

javascript - 在浏览器中以半页增量垂直放置嵌入的 PDF

javascript - 正则表达式:如何返回不在括号中的匹配项

regex - 复杂的前瞻/非贪婪正则表达式