我需要使用多行正则表达式来提取文本的一部分,但我还必须允许这些部分嵌套。
以下是我的方案示例:
<!--BEGIN DELIMITER(A)-->
sample text
<!--BEGIN DELIMITER(B)-->
another sample text
<!--END DELIMITER(B)-->
<!--END DELIMITER(A)-->
预期的结果是提取两个块,包括开始/结束行,A1
和A2
是其他内容所必需的。
我只会得到一个匹配,即外部组。
这是我的正则表达式:
<!--BEGIN DELIMITER\((?<expr>(\w+))\)-->(?<content>([\s\S]*?))<!--END DELIMITER\((\k<expr>.*)\)-->
这是一个regex101.com link,用于快速直观参考。
关于如何匹配两个组的任何想法?