Regex查找和分组文本块

7xzttuei  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(201)

我试图提取连贯的文本块(从markdown),因为我需要替换它们。
示例:

some other text.....
some other text.....

> **_NOTE:_** \
> multi line note text ....\
> note text ....\
> note text ....

## section

Lorem ipsum....

> **_NOTE:_** \
> note text

Lorem ipsum....

> **_NOTE:_** single line note text

我正在寻找一个正则表达式,它检测以> **_NOTE:_*开头的块,后面是以>开头的所有行,并在此示例中产生3组:
第1组:

> **_NOTE:_** \
> multi line note text ....\
> note text ....\
> note text ....

第二组:

> **_NOTE:_** \
> note text

第三组:

> **_NOTE:_** single line note text
hiz5n14c

hiz5n14c1#

您可以使用以下正则表达式匹配以>**_NOTE:_开头的文本块,后跟以>开头的行,并将它们捕获到组中:

(> \*\*_NOTE:_\*\*.*(?:\n>.*|\Z)+)
  • (> \*\*_NOTE:_\*\*.*匹配以> **NOTE:开头的块的开头,后跟任何字符。
  • (?:\n>.*|\Z)+)匹配以>开始的一行或多行,直到到达空行或输入的结尾

相关问题