RegExp 板


LINE

※ 引述《DongFeng (Little Five)》之铭言: : 表达式:/<table[^>]*+>([^<]*+(?:(?!<\/?+table)<[^<]*+)*+)<\/table>/i 好长好长好乱的表达式www : 这段表达式在实际使用上是抓出来源字串内的所有<table>...</table> : 我知道[^>]表达的是 不包含> 的所有字串, 但一直弄不清楚的是在[^>]後面的*+的作用 : 第一个问题:*是匹配<table[^>]还是匹配[^>], 如果是匹配[^>]是不是表示允许拥有零个 : 或多个 不包含> 的字串, 因为我一直在想既然是要抓出tabel, 匹配<table[^>]表示允许 : 零个又很怪 [^>]*+ 只有()Group起来才会一起算 不然取量符只算前一个(Group就是整坨当一个啦) : 第二个问题:为什麽要在*号後面再加上+, *不是就允许零个或多个字串存在了吗?为什麽 : 还要多一个允许一个或多个字串存在的+呢? 这在不少语言的RegExp里面都不支援XD 以原文推文中的Perl的官方文件里面的举例 'aaaa' =~ /a++a/ 这并不会被匹配 简单来说++就是比greedy还更greedy 连最後那个a++a的a都被a++给吃掉了 也就是不管後方能不能匹配 总之完全不让步的吃乾净 以这边来说应该*和*+没差异 因为後方是匹配 > 但前面的[^>]就拒绝匹配了 所以<table这边应该都会被吃乾净才对> : 第三个问题:中间()的部分已经完全不能理解.,正常table里头会允许<thead>...</thead> : <tr>...</tr>,<td>...</td>,<tfoot>...</tfoor>等tag的存在, 但是()中开始就用[^<] : 拒绝 < 的存在, 希望有版友能替我解释这一段... 这边你看眼花了吧XDD 把首尾的<table></table>拆掉整理下 ([^<]*+ (?:(?!<\/?+table) <[^<]*+) *+) 别忘了<table>这里常有空白<tr> 所以先用[^<]*+来匹配非tag开头的字元 遇到tag开头是後面要处理的 後面则是拒绝匹配任何<table或</table接着的部分 (对前方的[^<]*+或後续匹配的这个non-capture group而言) 再後面才开始尝试匹配<及其後所有非<文字 (这non-capture group後方跟者*+ 所以整段是匹配所有非<table或</table的<XXX) 上这超乱的东西就是为了避免误吃</table以及不合法的<table 会写成这样主要是用了*+这种吃光光的写法 所以匹配时要手动排除掉 : 抱歉, google跟在版上爬文了还是花煞煞, 不得已只好直接发文问了, 还请大家不吝啬指 : 教 个人理解大致是如此XD 如果有错还请麻烦鞭一下www --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.216.102
1F:→ danny8376:建议搭配原文章LPH66堆文食用 (X 11/01 13:25
2F:→ danny8376:搞这样是效率问题来着XDD 也难怪搞得超复杂www 11/01 13:26







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP