2012-02-08 78 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); 
}