找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 957|回复: 7

[精彩文萃] 正则表达式解析XML标记

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-12-23 18:57:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

</tr><tr>
<td>5345454354</td><td>2010-3-29 13:48:33</td><td>周杰伦</td>
</tr><tr>
<td>6565465466</td><td>2010-3-29 15:34:38</td><td>张学友</td>
</tr><tr>
<td>6546546546</td><td>2010-3-30 19:30:50</td><td>刘德华</td>
</tr><tr>
<td>9875646545</td><td>2010-3-31 2:20:58</td><td>郭富城</td>
</tr><tr>
<td>7868768768</td><td>2010-3-31 8:03:11</td><td>梁朝伟</td>
</tr><tr>
<td>1434444446 </td><td>2010-3-31 8:45:52</td><td>习近平</td>
</tr><tr>
<td>7665466666</td><td>2010-3-31 18:00:46</td><td>**</td>
</tr>


若想取标记<td></td>之间的内容, 可以这样分析





表达式


说明

(?<=Expression) 逆序肯定环视,表示所在位置左侧能够匹配Expression


(?<!Expression) 逆序否定环视,表示所在位置左侧不能匹配Expression


(?=Expression) 顺序肯定环视,表示所在位置右侧能够匹配Expression


(?!Expression) 顺序否定环视,表示所在位置右侧不能匹配Expression


---------------------------------


(?is)(?<=<td>).+?(?=</td>)


---------------------------------


(?is) 模式修饰,i表示忽略大小写,s表示单行模式.能匹配回车换行


(?<=<td>) 逆序肯定环视,需要匹配的结果以<td>开头,但是<td>匹配,结果中不包含<td>


.+? 任意字符,每次匹配到符合的(任意字符),即尝试匹配后面的表达式,直到后面的表达式失败,回溯上一次匹配结果。


(?=</td>) 顺序肯定环视,匹配的结果最后要以</td>结尾,但</td>不匹配,结果中不包含</td>


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 604个

财富等级: 财运亨通

发表于 2016-12-23 20:35:16 | 显示全部楼层
本帖最后由 /db_自贡黄明儒_ 于 2016-12-27 09:43 编辑

(XD::String:RegExpS  "[^(?is)(?<=<td>).+?(?=</td>)]+" "<td>6546546546</td><td>2010-3-30 19:30:50</td><td>刘德华</td></tr><tr>" "")
=======>("6546546546" "2010-3-30 19:30:50" "刘德华" "r" "r")

(XD::String:RegExpS  "[^(?is)(?<=<td>|</tr>).+?(?=</td>|<tr>)]+" "<td>6546546546</td><td>2010-3-30 19:30:50</td><td>刘德华</td></tr><tr>" "")=>("6546546546" "2010-3-30 19:30:50" "刘德华")
同上(XD::String:RegExpS  "[^(?<=<td>|</tr>).+?(?=</td>|<tr>)]+" "<td>6546546546</td><td>2010-3-30 19:30:50</td><td>刘德华</td></tr><tr>" "")
我晕"[^(<=<td>|</tr>?).+?(?=<td>|<tr>)?]+" 这样写与上也相同



论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2016-12-23 20:54:11 | 显示全部楼层

发明正则表达式的人是个伟大的人,是个伟大的事情。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2016-12-23 21:02:59 | 显示全部楼层

是呀,是呀,可也给我们添了不少麻烦,很难摸透。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2016-12-23 21:05:26 | 显示全部楼层

所以说有必要找本书系统的学下了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2016-12-23 21:07:29 | 显示全部楼层
.+?         .*        应该是等同的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6568个

财富等级: 富甲天下

发表于 2016-12-24 02:11:05 | 显示全部楼层
谢谢提供,学习学习了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2016-12-27 07:55:57 来自手机 | 显示全部楼层
可以调用DOM对象解析XML
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 21:49 , Processed in 0.406889 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表