從字串中提取兩類 PNG 資源名稱:
icon.png, bg_image.pngicon_skill_123_45_pngconst regex = /(?:^|\s)([A-Za-z0-9_\-\.]+\.png)(?=\s|$)|icon_skill_[A-Za-z0-9_]+_png/g;
// 簡化版(針對題目範例)
const regex = /([A-Za-z0-9_\-\.]+\.png)|(icon_skill_[A-Za-z0-9_]+_png)/g;
const str = 'load("icon.png"); startLoad("icon_skill_100_1_png");';
const matches = str.match(regex);
console.log(matches); // ["icon.png", "icon_skill_100_1_png"]
const regex = /([A-Za-z0-9_\-\.]+\.png)|(icon_skill_[A-Za-z0-9_]+_png)/g;
let match;
while ((match = regex.exec(str)) !== null) {
if (match[1]) console.log('靜態檔名:', match[1]);
if (match[2]) console.log('動態拼接:', match[2]);
}
| 分隔兩種模式,() 捕獲組便於區分類型。[A-Za-z0-9_\-\.] 涵蓋常見檔名字元;依實際命名規則調整。g 確保提取所有匹配。