首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ant中使用regex替换xml标记之间的值?

如何在Ant中使用regex替换xml标记之间的值?
EN

Stack Overflow用户
提问于 2014-11-24 12:48:00
回答 1查看 2.6K关注 0票数 4

我试图使用Ant替换xml中的值。

我的xml文件:

代码语言:javascript
复制
<session-config>
    <session-timeout>60</session-timeout>
</session-config>

我想把60换成20

并在ant任务replaceregexp中使用以下regexp

代码语言:javascript
复制
(?<=session-timeout>)[\S\s]*?(?=</session-timeout)


<target name="step1">
        <replaceregexp file="WEB-INF/web.xml"
                       byline="true"
                       match="((?<=session-timeout\>)[\S\s]*?(?=\<\/session-timeout))"
                       replace='20'/>
</target>

但是在执行后从ant那里得到了致命的错误:

代码语言:javascript
复制
[Fatal Error] The value of attribute "match" associated with an element type "replaceregexp"
 must not contain the '<' character.

请告诉我,如何改变我的regexp,或者可能有另一个解决这个问题的办法?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-24 14:51:32

<>字符必须分别使用&lt;&gt;“转义”:

代码语言:javascript
复制
<replaceregexp file="WEB-INF/web.xml"
              byline="true"
              match="((?&lt;=session-timeout\&gt;)[\S\s]*?(?=\&lt;\/session-timeout))"
              replace='20'/>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27105246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档