regex' \ s + - \ s * | \ s * - \ s +'不能正常工作

时间:2014-10-08 16:16:44

标签: javascript regex

我正在使用node.js应用程序解析一个大型列表并拥有此代码

sizeCode = dbfr.CN_DESC.split('\s+-\s*|\s*-\s+')

这似乎不起作用,因为它返回

[ 'WOMEN\'S CC CROPPED TOP T-SHIRT - MELANGE GREY - S' ]
[ 'WOMEN\'S CC CROPPED TOP T-SHIRT - MELANGE GREY - M' ]
[ 'WOMEN\'S CC CROPPED TOP T-SHIRT - MELANGE GREY - L' ]
[ 'WOMEN\'S CC CROPPED TOP T-SHIRT - WHITE - S' ]
[ 'WOMEN\'S CC CROPPED TOP T-SHIRT - WHITE - M' ]
[ 'WOMEN\'S CC CROPPED TOP T-SHIRT -WHITE - L' ]
[ 'WOMEN\'S CC LOW CUT RACER BACK TUNIC VEST -WHITE - M' ]
[ 'WOMEN\'S CC LOW CUT RACER BACK TUNIC VEST - WHITE -L' ]

好像我只是使用

sizeCode = dbfr.CN_DESC.split(' - ')

正常工作,我的问题是,在某些情况下,我可能会有不同的位置 - ' - '破折号字符,例如:

[ 'WOMEN\'S CC CROPPED TOP T-SHIRT -WHITE - L' ]
[ 'WOMEN\'S CC LOW CUT RACER BACK TUNIC VEST -WHITE - M' ]
[ 'WOMEN\'S CC LOW CUT RACER BACK TUNIC VEST - WHITE -L' ]

但我不想拆分T-SHIRT。

任何建议非常感谢

1 个答案:

答案 0 :(得分:1)

您必须在正则表达式中使用正则表达式分隔符:

sizeCode = dbfr.CN_DESC.split(/\s+-\s*|\s*-\s+/g)

RegEx Demo