純 Javascript 中使用正規表示法
regex 是一個正規表示
str 是一個字串
info 是執行 exec 回傳的 array
因為我們有用 "( )" 圈住數字
故 array[1] 會是 123
而 array[2] 會是 456
程式範例
var regex = /(\d+) (\d+)/; var str = '123 456'; var info = regex.exec(str); for (var i = 0; i < info.length; i++) { console.log(i, info[i]); }
執行結果
0 '123 456' 1 '123' 2 '456'
如果字串中有 1 個以上要匹配的地方,我們可以考慮使用 flag 'g'
如果忘記加上 'g',程式便會進入無窮迴圈,因為 regex.lastIndex always = 0
var regex = /(\d+) (\d+)/g; var str = '123 456; 789 100'; var info; while ((info = regex.exec(str)) != null) { console.log(regex.lastIndex); for (var i = 0; i < info.length; i++) { console.log(i, info[i]); } }
執行結果
7 0 '123 456' 1 '123' 2 '456' 16 0 '789 100' 1 '789' 2 '100'
沒有留言:
張貼留言