【发布时间】:2018-01-19 09:40:02
【问题描述】:
这是我的例子:
<w:p>
<w:pPr>
<w:spacing></w:spacing>
<w:contextualSpacing/>
<w:rPr/>
</w:pPr>
<w:r>
<w:rPr>
<w:color/>
<w:rtl w:val="0"/>
</w:rPr>
<w:t>Some text</w:t>
</w:r>
<w:r>
<w:rPr>
<w:color/>
<w:rtl/>
</w:rPr>
<w:t>My search text</w:t>
</w:r>
<w:r>
<w:rPr>
<w:color/>
<w:rtl/>
</w:rPr>
<w:t>Other text</w:t>
</w:r>
我需要用正则表达式来获取这个块:
<w:r>
<w:rPr>
<w:color/>
<w:rtl/>
</w:rPr>
<w:t>My search text</w:t>
</w:r>
但我的正则表达式总是先出现<w:r>,最后出现</w:r>。惰性量词没有帮助。
那么我如何才能获得<w:r> </w:r> 块内只有“我的搜索文本”?
【问题讨论】:
-
你试图做什么?它是如何失败的?为什么要使用正则表达式而不是 XML 解析器?
-
这是我的例子regex101.com/r/2Sh68k/2。关于XML解析器,解析这个xml非常困难(这是来自DOCX格式的xml),所以我想用正则表达式会更容易+我需要只需找到块并用另一个替换他
-
为什么不直接搜索
My search text,上下文相关吗?如果是,请将其添加到表达式中。
标签: regex