正則運算式 - daniel-qa/Vue GitHub Wiki

正則運算式

  • EX : 把字串切割成陣列

這是一個 正則表達式,用來把字串切割成陣列:

 // 處理各種分隔符:空格、逗號、Tab、換行
 const formatInput = () => {
     const splitIds = teacherIdsInputRaw.value
         .split(/[\s,]+/) // 空格 \s 包含空格、Tab、換行,+ 表示可連續多個
         .filter(id => id.trim()) // 去掉空白與空值
     teacherIdsInputRaw.value = splitIds.join('\n')
 } 

/[\s,]+/ 是一個 字元集合 + 數量修飾子 的組合。

.split(...) 是 JavaScript 的字串切割方法。

"123,456\t789\n101".split(/[\s,]+/)
// 結果: ["123", "456", "789", "101"]
正則表達式 說明
/\s+/ 只切空白、Tab、換行
/[,]+/ 只切逗號
/[\s,]+/ 切空白 + Tab + 換行 + 逗號(這個最萬用 👍)

/.../:用來包住正則的「內容本體」

+ 是一個常見的量詞(quantifier),表示「前一個元素出現一次或多次」,也就是「至少出現一次」的意思。

這個符號的作用是讓你可以匹配一個或多個連續出現的特定模式。

.split(/[ \t,]+/) // 僅分割空格、Tab 和逗號