看板 Ajax 關於我們 聯絡資訊
有一段字串這樣: var strHTML="...<div id='div1'>...<div id='div2'>...</div> </div><div id='div3'>...</div>..." 怎麼才能取到 <div id='div1'>......</div> 裡的內容 用 /<div id='div1'>([\s\S]+)<\/div>/ 會取太多 用 /<div id='div1'>([\s\S]+?)<\/div>/ 會取太少 需要取到配對的那個 </div> 想了好久解不出 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.120.160.203 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1557650983.A.19E.html
y3k: 如果你是在html上處理 用document.createElement()比較快 05/12 18:45
mackliu: 不太懂為什麼要這樣處理,你是要取代內容還是產生元件? 05/12 23:30
Hevak: HTML 要用 HTML parser,可以考慮例如 cheerio 或 jquery, 05/13 15:22
Hevak: 不要用 regex 05/13 15:22
Hevak: 不然直接先開 element 再 set innerHTML 再往下用 DOM API 05/13 15:23
Hevak: 爬也是個方式 05/13 15:23
eight0: emmet 有一個 htmlMatcher 專門用來尋找對應的 HTML tag 05/13 17:23
eight0: https://is.gd/ThpDRr 05/13 17:23
vi000246: http://tinyurl.com/yatm6gxk 05/17 21:41
NobleDino: 這個行為正規表述無法查到的 05/28 16:55
NobleDino: 這是屬於上下文無關文法(context free grammar) 05/28 16:55
NobleDino: 想不出來當然是正常的,另外正規為CFG子集 05/28 16:59