栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

java 正则替换cdata

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 正则替换cdata

@Jim Garrison在上面的评论中是正确的:没有办法用正则表达式强健地解析XML / HTML.该语言过于复杂,无法用正则表达式表示.

但是,这并不意味着您不能编写一个涵盖大多数合理案例的正则表达式,这可能足以满足您的需求.例如,以下JavaScript正则表达式将主要执行您想要的操作:

input.replace( //g,'' );

这个正则表达式中注意的两件事:CDATA体内的通配符(.*?)是否与?修改.没有它,会发生以下不好的事情:

'before some stuff between after'

.replace( //g,'' );

// returns "before after" when we probably

// wanted "before some stuff between after"

另一件事是我们使用g标志来表示应该替换所有匹配.否则只会替换第一场比赛.

阅读评论,看起来您可能只想删除CDATA标签,同时保持其内容不变.正如@Jim Garrison上面指出的那样,这是一个坏主意,因为你很容易留下无效的HTML;这就是CDATA的重点.但如果您确实想这样做,请按以下步骤操作:

'outside inside after'

.replace( //g,'$1' );

// yields "outside (cdata1) inside (cdata2) after"

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910694.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号