正则表达式在方括号内得到两个特定字符

时间:2013-12-05 12:28:22

标签: javascript regex

不太熟悉正则表达式。我有一个这样的字符串:

 var str = "WOMEN~~Accessories >Underwear~~Socks, Tights & Leggings"

使用Javascript,我想分开:~~&>,,包括他们周围的潜在空白区域。

到目前为止,我已经:

 var arr = str.split(/[\s>&,]/g);
 for (var i = 0; i<arr.length; i++){
    if(arr[i]){accepted.push(arr[i])}
 }

虽然这并没有考虑到多个字符(我确信在白色空间中有更好的正则表达方式,而不是事后的for循环!)和~~ isn没被选中。

我正在考虑/[\s>&,[~~]]/g的问题,但这不起作用。我怎么能用正则表达式做到这一点?

2 个答案:

答案 0 :(得分:1)

试试这个:

/\s*[\s>&,\[\]~]+\s*/g

描述

Regular expression visualization

演示

http://jsfiddle.net/p7FFD/

答案 1 :(得分:0)

var arr = str.split(/(~~|[\s>&,]+)/g);

所以你要分裂~~或任何空白,&符号,大于(&gt;)和逗号的组合。