2013-01-09 24 views

回答

4

.match返回數組。第一個元素是整個匹配文本,每個其他元素是捕獲組的內容。你有一個捕獲組,所以第二個元素是它捕獲的文本。

要麼刪除該組,要麼忽略數組中的其他元素。您有權訪問在任何情況下的第一個:

var match = s.match(/f(.*)a/)[0]; // or /f.*a/ 

P.S:alert是一個糟糕的調試工具,使用console.logconsole.dir代替。

2

請勿放在括號內。

alert(s.match(/f.*a/)); 

括號創建一個捕獲組,它允許您指定您對匹配的特定部分感興趣。在這種情況下,你對整個事情感興趣,所以你不需要任何括號。

0

只是刪除括號或將整個表達式爲額外的括號:

s.match(/f.*a/)[0];s.match(/(f(.*)a)/)[1];

相關問題