regex's+-s*|s*-s+'无法正常工作

regex 's+-s*|s*-s+' does not work correctly

本文关键字:常工作 工作 -s+ s+-s regex      更新时间:2023-09-26

我正在用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恤分开。

任何建议都非常感谢

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

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

RegEx演示