表達式:/<table[^>]*+>([^<]*+(?:(?!<\/?+table)<[^<]*+)*+)<\/table>/i
這段表達式在實際使用上是抓出來源字串內的所有<table>...</table>
我知道[^>]表達的是 不包含> 的所有字串, 但一直弄不清楚的是在[^>]後面的*+的作用
第一個問題:*是匹配<table[^>]還是匹配[^>], 如果是匹配[^>]是不是表示允許擁有零個
或多個 不包含> 的字串, 因為我一直在想既然是要抓出tabel, 匹配<table[^>]表示允許
零個又很怪
第二個問題:為什麼要在*號後面再加上+, *不是就允許零個或多個字串存在了嗎?為什麼
還要多一個允許一個或多個字串存在的+呢?
第三個問題:中間()的部分已經完全不能理解.,正常table裡頭會允許<thead>...</thead>
<tr>...</tr>,<td>...</td>,<tfoot>...</tfoor>等tag的存在, 但是()中開始就用[^<]
拒絕 < 的存在, 希望有版友能替我解釋這一段...
抱歉, google跟在版上爬文了還是花煞煞, 不得已只好直接發文問了, 還請大家不吝嗇指
教