我尝试使用Ant替换xml中的值。
我的xml文件:
<session-config>
<session-timeout>60</session-timeout>
</session-config>
我想将60
替换为20
在ant任务replaceregexp
中使用以下regexp:
(?<=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>
但是在执行后从蚂蚁那里得到了致命的错误:
[Fatal Error] The value of attribute "match" associated with an element type "replaceregexp"
must not contain the '<' character.
请告知,如何更改我的正则表达式,或者可能还有另一个解决此问题的方法?感谢。
答案 0 :(得分:4)
<
和>
字符必须分别使用<
和>
进行“转义”:
<replaceregexp file="WEB-INF/web.xml"
byline="true"
match="((?<=session-timeout\>)[\S\s]*?(?=\<\/session-timeout))"
replace='20'/>