匹配头和值,使用正则表达式多行



我有一个结构如下的文档:

  • 标题(同一行没有空格的文本)
  • 一个值列表(可以为空):
  • 每个值以一个制表符开始,然后是不带空格的文本。

我想建立一个正则表达式模式,使每个匹配包含1头组和0-n值组。

这是我正在尝试的,我相信它很接近,但可能有一些小问题我找不到:

https://regex101.com/r/XSszya/1

^(?P<header>[^s]+)$(?P<value>^t[^s]$)*

谢谢。

您可以以换行符和制表符开始重复第二部分。

然后在自己的非捕获组中重复value组的内部部分,以获得value组中的整个匹配

^(?P<header>S+)(?P<value>(?:ntS+)*$)

Regex演示

最新更新