看板 Ajax 關於我們 聯絡資訊
var b="{{dffdfdfdf}} {{eeeee}}" ,a; while( a=/\{\{([^}]+)\}\}/g.exec(b)) { } 我想取出所有{{}}的字串 請問這樣為啥一直跑符合第一個patterm的地方 也就是無窮的回圈 但改用match就可以了?不過要自已把{{}}去掉 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.143.36 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1645683972.A.1E7.html
LPH66: 你寫一個 regex 在那裡的話每次執行會新建一個 regex 物件 02/24 15:33
LPH66: 你需要另起一個變數儲存一個 regex 物件, 再用它來 .exec 02/24 15:34
LPH66: .exec 會在你所用的 regex 物件中紀錄之前看到哪裡了 02/24 15:35
LPH66: (紀錄在那個物件的 .lastIndex 裡面) 下次 .exec 時就可以 02/24 15:35
LPH66: 從那個地方開始; 你這樣寫每次都新建自然都只給你第一個 02/24 15:36