【发布时间】:2013-08-15 09:07:31
【问题描述】:
请考虑以下输入字符串:
X=Y
Z=U
Q=PLorem Ipsum 只是印刷和排版行业的虚拟文本。
自 1500 年代以来,Lorem Ipsum 一直是业界标准的虚拟文本
我想知道是否可以使用正则表达式单行来捕获以下内容:
左:X
右:Y
左:Z
右 : U
left: Q
right: P
text: Lorem Ipsum 是简单的虚拟文本印刷排版
行业。 Lorem Ipsum 一直是业界标准的虚拟文本
自 1500 年代以来
这个想法是有一堆具有特定格式的行,后跟一个“\r\n”,然后是一些文本。我想分别捕获每个键值对(在此示例中)和文本。
捕获结构化数据很容易(这里只是一个示例):
(?:^(?<left>\S+)=(?<right>\S)\n)
但我不知道如何指定如下内容:
“继续捕获此模式直到第一个空行,然后将所有内容捕获到“文本”。
使用代码解决这个问题很容易,但我真的很想知道它是否可能只使用正则表达式单行。
【问题讨论】:
-
输出是第二个引用的文本块,但 m.buettner 的回答确实准确地解释了我想要理解的内容。