3
我知道.match()
返回匹配數組,如果沒有找到匹配項,則返回null。但是,如何訪問與.match一起使用的捕獲組值呢?需要幫助理解Javascript的.match方法
例如:
var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)');
假設正則表達式匹配不止一次,怎樣訪問在特定匹配捕獲組的值?
謝謝!
我知道.match()
返回匹配數組,如果沒有找到匹配項,則返回null。但是,如何訪問與.match一起使用的捕獲組值呢?需要幫助理解Javascript的.match方法
例如:
var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)');
假設正則表達式匹配不止一次,怎樣訪問在特定匹配捕獲組的值?
謝謝!
使用數組表示法:[0]
,[1]
等
var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)');
if(val != null) {
var first = val[0];
//...
}
權,但如果正則表達式匹配多個項目,VAL本身就已經是一個數組吧?那麼val [0]就會返回第一個匹配。 – Alex 2010-07-12 18:46:23
正確。如果'match'的返回值非空,則它是一個數組。 – 2010-07-12 19:05:02
你們的對話只是澄清了剛剛讓我感到困惑的事情。謝謝。 – govinda 2012-08-19 02:16:29