Fw: [問題] 一段表達式, 希望版友能幫忙解析...

看板PHP作者 (Little Five)時間12年前 (2013/11/01 10:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/4 (看更多)
※ [本文轉錄自 RegExp 看板 #1ISdwLnw ] 作者: DongFeng (Little Five) 看板: RegExp 標題: [問題] 一段表達式, 希望版友能幫忙解析... 時間: Fri Nov 1 00:00:18 2013 表達式:/<table[^>]*+>([^<]*+(?:(?!<\/?+table)<[^<]*+)*+)<\/table>/i 這段表達式在實際使用上是抓出來源字串內的所有<table>...</table> 我知道[^>]表達的是 不包含> 的所有字串, 但一直弄不清楚的是在[^>]後面的*+的作用 第一個問題:*是匹配<table[^>]還是匹配[^>], 如果是匹配[^>]是不是表示允許擁有零個 或多個 不包含> 的字串, 因為我一直在想既然是要抓出tabel, 匹配<table[^>]表示允許 零個又很怪 第二個問題:為什麼要在*號後面再加上+, *不是就允許零個或多個字串存在了嗎?為什麼 還要多一個允許一個或多個字串存在的+呢? 第三個問題:中間()的部分已經完全不能理解.,正常table裡頭會允許<thead>...</thead> <tr>...</tr>,<td>...</td>,<tfoot>...</tfoor>等tag的存在, 但是()中開始就用[^<] 拒絕 < 的存在, 希望有版友能替我解釋這一段... 抱歉, google跟在版上爬文了還是花煞煞, 不得已只好直接發文問了, 還請大家不吝嗇指 教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.111.59.235

11/01 00:27, , 1F
http://goo.gl/NRIfS *+ Match 0 or more times and give
11/01 00:27, 1F

11/01 00:27, , 2F
nothing back
11/01 00:27, 2F
give nothing back是指就算有抓到符合的字串也不返回任何的組的意思嗎?? ※ 編輯: DongFeng 來自: 114.33.9.244 (11/01 09:13) ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: DongFeng (114.33.9.244), 時間: 11/01/2013 10:13:36
文章代碼(AID): #1ISmvIsY (PHP)
文章代碼(AID): #1ISmvIsY (PHP)