正则表达式来清理XML

我必须处理,有时包含转义&符号的XML数据,我不能让生产者要么逃避其&或放入CDATA节。

现在我正在寻找一个正则表达式替换和与&功放; 如果一个实体的其一部分。 事情是这样的:((AMP |者| QUOT | LT | GT);?!)

不幸的是,我的编程环境仅支持“扩展POSIX 1003.2正则表达式”(见http://www.kernel.org/doc/man-pages/online/pages/man7/regex.7.html),这似乎缺乏不操作符“!” 这里需要的。

任何想法如何制作所需的正则表达式?

--------------解决方案-------------

横向思维:更换所有&使用&amp则全部更换&apos (等)用&apos (例如)? 您可以使用一组捕获部分被放回- &(apos)

而不是搜索匹配的东西负正则表达式,你可以搜索的东西不匹配积极的正则表达式,喜欢的东西:

! ... &(?(amp|apos|quot|lt|gt);)

我也没看到你挂了整个页面,但我敢肯定它应该是可能的。

分类:XML 时间:2012-10-02 人气:0
本文关键词: 正则表达式,XML,POSIX
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.759 (s). 10 q(s)