表达式:/<table[^>]*+>([^<]*+(?:(?!<\/?+table)<[^<]*+)*+)<\/table>/i
这段表达式在实际使用上是抓出来源字串内的所有<table>...</table>
我知道[^>]表达的是 不包含> 的所有字串, 但一直弄不清楚的是在[^>]后面的*+的作用
第一个问题:*是匹配<table[^>]还是匹配[^>], 如果是匹配[^>]是不是表示允许拥有零个
或多个 不包含> 的字串, 因为我一直在想既然是要抓出tabel, 匹配<table[^>]表示允许
零个又很怪
第二个问题:为什么要在*号后面再加上+, *不是就允许零个或多个字串存在了吗?为什么
还要多一个允许一个或多个字串存在的+呢?
第三个问题:中间()的部分已经完全不能理解.,正常table里头会允许<thead>...</thead>
<tr>...</tr>,<td>...</td>,<tfoot>...</tfoor>等tag的存在, 但是()中开始就用[^<]
拒绝 < 的存在, 希望有版友能替我解释这一段...
抱歉, google跟在版上爬文了还是花煞煞, 不得已只好直接发文问了, 还请大家不吝啬指
教