※ 引述《C4891 (C4891)》之銘言:
: 以php來說
: $a = 'A111 B222 C333';
: preg_match_all('/\D(\d+)/',$a, $out);
: print_r($out);
: 得到的結果是
: Array ( [0] => Array ( [0] => A111 [1] => B222 [2] => C333 )
: [1] => Array ( [0] => 111 [1] => 222 [2] => 333 ) )
: 可以只取得 (\d+) 匹配到的 ["111", "222", "333"]
: 而javascript
: var a = 'A111 B222 C333';
: a.match(/\D(\d+)/) 得到的結果是 ["A111", "111"]
: 可以把 (\d+) 匹配到的 ["111"] 單獨抓出來
: a.match(/\D(\d+)/g) 得到的結果是 ["A111", "B222", "C333"]
: 我想要的是["111", "222", "333"]
: 為什麼這樣就無法像上面那樣把 (\d+) 匹配到的單獨抓出來?
var a = 'A111 B222 C333';
var pattern = /\D(\d+)/g;
var match;
while (match = pattern.exec(a))
{
alert(match);
}