精華區beta RegExp 關於我們 聯絡資訊
這其實是 Mastering Regular Expressions 裡面的範例: 03824531449411615213441829503544272752010217443235 只能match 44開頭的五位數字(ZIP code),答案是: 44182 44272 書上的解法: \G(?:(?!44)\d\d\d\d\d)*(44\d\d\d) 我嘗試改用atomic group卻無法成功(會多出44323): (?>(?:(?!44)\d\d\d\d\d)*)(44\d\d\d) 哪位先進可以解釋一下?謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 204.13.236.244
lg31cm:我知道原因了,(?>無法抑制regex往下一個一個try 01/24 23:14
lg31cm:\G規定要從上次成功的結尾開始比對,假如失敗一次regex就會 01/24 23:15
lg31cm:放棄嘗試 01/24 23:15