javascript - 正则表达式 '\s+-\s*|\s*-\s+' 无法正常工作

标签 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 恤。

非常感谢任何建议

最佳答案

您必须在正则表达式中使用正则表达式定界符:

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

RegEx Demo

关于javascript - 正则表达式 '\s+-\s*|\s*-\s+' 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26261634/

相关文章:

javascript - 正则表达式捕获斜杠之间的字符串

javascript - 如何将插入符号所在位置的值设置为一个值 [Javascript]

javascript - 谷歌地图显示灰色屏幕而不是 map

javascript - 如何让带有 false animate 队列的 onClick 函数也运行外部函数?

javascript - 使用 React Helmet 显示标题

python - 替换有时加倍的字符的单个实例

javascript - 自动将 css 转换为 mozilla 特定的 css

我正在努力解决Javascript正则表达式

Java:输入字段的正则表达式只有数字和逗号+空格字符

javascript - Google Sheet 脚本中的正则表达式