【发布时间】:2014-05-15 05:03:41
【问题描述】:
我正在使用 Oxygen 为 ehumanities 项目以 XML 格式编码文本。
这个文件预编码了几个标签,大部分都放错了,所以我不得不整理很多。大部分已经完成,但仍然存在一个主要问题。
分页符<pb n="number"/> 编号错误。严格来说它们的值太小了,这意味着<pb n="3"/> 应该是<pb n="4"/>。
这些分页符有 300 多个。
有没有办法通过 Perl 替换来递增每个值?
我已经设法用这个正则表达式模式找到每个值
<pb n="(\d+)"/>
并且可以将其替换为:
<pb n="$1"/>
但是如何对每个值进行 +1 操作?
我不熟悉 XPath 和 XSLT,但我愿意学习。
【问题讨论】:
-
RegEx 不能做这种逻辑,但大多数语言允许你做某种replace callback,你可以在其中引用匹配并执行
++操作。 -
氧气如何影响这个问题?