我在 document.xml 文件中有一个单词 docx:
-<w:r><w:tab/>
<w:t><%= @grantor
</w:t></w:r>
-<w:r w:rsidR="008E7A5B">
<w:t>1.upcase %>, MANAGER
</w:t></w:r>
我需要从 ERB 标记(<%= 和 %>)之间取出 xml 标记,并将它们放在右 ERB 括号(%>)后面。
移动这个:
</w:t></w:r>
-<w:r w:rsidR="008E7A5B">
<w:t>
最后:
-<w:r><w:tab/>
<w:t><%= @grantor1.upcase %>
</w:t></w:r>
-<w:r w:rsidR="008E7A5B">
<w:t>, MANAGER
</w:t></w:r>
我知道使用正则表达式解析 XML 不是一个好主意,但这是微不足道的。可能需要遍历每组 ERB 标签,仅在 ERB 标签之间抓取第一个“<”和最后一个“>”之间的任何内容,而不是文档的其余部分......并将它们移动到该 %> 后面. 这会很好用,因为我永远不会出于任何原因将“<”或“>”放在我的 ERB 标签中。所有这些可能无法在单个正则表达式中完成,但我不确定如何去做。也许正则表达式 /<%=.+%>/ (不知道如何制作这个多行),然后遍历这些实例并在每个实例上运行正则表达式。但后来我不确定如何移动。作为新手,非常感谢任何帮助。