2012-02-08 76 views
1

我正試圖對@#實現以下操作。使用匹配多個字符的正則表達式分割字符串

function split(val) { 
    return val.split(/@/); 
} 

function extractLast(term) { 
    return split(term).pop(); 
} 

任何幫助真的很感激!

+1

你到底想幹什麼? – 2012-02-08 13:45:37

+0

我不明白該代碼的重點? – 2012-02-08 13:46:17

+0

問題是什麼?這與jQuery有什麼關係? – Quentin 2012-02-08 13:47:18

回答

7

嘗試

val.split(/@|#/g); 

|是正則表達式交替操作,即 'OR'。該g標誌,使全球範圍內的表達式匹配(即所有實例)

this fiddle

由於尖注意到g標誌是沒有必要在這裏。然而,如果想要在JS正則表達式中查找字符串中的所有匹配,則這是必要的。

+0

Drat,打我,因爲我沒有發佈30個字符:( – mplungjan 2012-02-08 13:47:24

+2

我不認爲「g」後綴是必要的,因爲'.split()'已經隱式地搜索所有出現的模式。 – Pointy 2012-02-08 13:48:50

+0

@Pointy我甚至不打擾你,因爲你永遠是對的!:) – 2012-02-08 13:51:59

2

你可以做

function split(val) { 
    return val.split(/[@#]/g); 
}