Javascript Regex 用两个词进行多重搜索

艾敏·泰富尔

我想将 Regex 和两个单词之间的结果转移到一个数组中,但不幸的是我不能这样做。你能帮我吗?

在本文中

[row]
Row text1
[rowEnd]

[row]
Row text2
[rowEnd]

我会搜索这个内容,

[row]
(.*)
[rowEnd]

基于此,我写了一个这样的正则表达式

/(\[row\]+)(.*)(\[rowEnd\])/gs

但是,这种方式需要整体,而不是一块一块。

预先感谢您的帮助。

第四只鸟

在 Javascript 中,你可以使用

^\[row]\r?\n([^]*?)\r?\n\[rowEnd]
  • ^ 字符串的开始
  • \[row]\r?\n匹配[row]和换行
  • (捕获组 1
    • [^]*? 匹配 0+ 次任何字符,包括换行符非贪婪
  • ) 关闭第 1 组
  • \r?\n\[rowEnd] 匹配换行符和 [rowEnd]

正则表达式演示

const regex = /^\[row]\r?\n([^]*?)\r?\n\[rowEnd]/gm;
const str = `[row]
Row text1
[rowEnd]

[row]
Row text2
[rowEnd]`;

Array.from(str.matchAll(regex), m => console.log(m[1]));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章