REGEX捕获字符串具有新线,直到(一组)字符的第一实例



我试图在以下源字符串中获取字符串的第一个实例

输入字符串

 ><text color="#FFFF00" creationdate="D:20180307100631+04'00'" flags="print,nozoom,norotate" date="D:20180307100652+04'00'" name="a60915a3-1c23-4f6d-b8d4-fbe0dd4890e9" icon="Comment" page="7" rect="351.308000,135.732000,371.308000,153.732000" subject="Sticky Note" title="saddia"
><contents-richtext
><body xmlns="http://www.w3.org/1999/xhtml" xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:APIVersion="Acrobat:9.0.0" xfa:spec="2.0.2"
><p dir="ltr"
><span dir="ltr" style="font-size:10.0pt;text-align:left;color:#000000;font-weight:normal;font-style:normal"
>As agreed with WPO that any unspecific area use GEN</span
><span dir="ltr" style="font-size:11.0pt;text-align:left;color:#1D477B;font-weight:normal;font-style:normal"
>&#xD;</span
><span dir="ltr" style="font-size:11.0pt;text-align:left;color:#000000;font-weight:normal;font-style:normal"
>&#xD;</span

我正在尝试检索下面的输出

page="7" rect="351.308000,135.732000,371.308000,153.732000" subject="Sticky Note" title="saddia"
><contents-richtext
><body xmlns="http://www.w3.org/1999/xhtml" xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:APIVersion="Acrobat:9.0.0" xfa:spec="2.0.2"
><p dir="ltr"
><span dir="ltr" style="font-size:10.0pt;text-align:left;color:#000000;font-weight:normal;font-style:normal"
>As agreed with WPO that any unspecific area use GEN</span

</span的第一例。

我的regexp如下所需的最后出现所需的最终字符组:

page="[0-9]+".+subject="(Text Box|Sticky Note)".+((s+.+)+);</span

我对正则有限的知识,所以请忍受我。

摘要是输出XFDF(PDF评论导出(,但它的格式很奇怪,因此我已使用HTML标记来格式。

在以下等级中,我所做的主要更改是使点懒惰,这意味着它在点之后以 first 模式停止。这是为了防止图案仅在整个文本上梳一次。

page="[0-9]+".+?subject="(?:Text Box|Sticky Note)".+?</span

demo

note 仔细,为了使上述模式工作,必须以DOT进行所有模式,这意味着DOT也与Newlines匹配。

在没有正式点的VBA中,我们可以使用 [sS]

对其进行模拟
page="[0-9]+"[sS]+?subject="(?:Text Box|Sticky Note)"[sS]+?</span

最新更新