如何在js中拆分字符串,但有一些例外

Ovi*_*Ovi 12 javascript regex string split

我有这个字符串:

a\,bcde,fgh,ijk\,lmno,pqrst\,uv
Run Code Online (Sandbox Code Playgroud)

我需要一个JavaScript函数,将每一个分割字符串,,但只有那些具有\在他们面前

如何才能做到这一点?

WTK*_*WTK 11

这是我能想到的最短的事情:

'a\\,bcde,fgh,ijk\\,lmno,pqrst\\,uv'.replace(/([^\\]),/g, '$1\u000B').split('\u000B')
Run Code Online (Sandbox Code Playgroud)

背后的想法是找到逗号没有前缀为反斜杠的每个地方,用字符串替换那些不常见的字符串,然后用那个不常见的字符串拆分.

请注意,逗号前的反斜杠必须使用另一个反斜杠进行转义.否则,javascript会将表单\,视为已转义的逗号并仅生成一个逗号!换句话说,如果你不能逃避反斜杠,javascript会看到:a\,bcde,fgh,ijk\,lmno,pqrst\,uv就像这样a,bcde,fgh,ijk,lmno,pqrst,uv.