【发布时间】:2016-10-14 23:08:24
【问题描述】:
我在javascript 中有以下正则表达式用于拆分操作,因为我无法在后面查找任何分隔符,,而该字符串不是由\ 的一个或多个转义字符进行的.
[^\\],
正则表达式可以很好地查找\ 未处理的逗号在哪里,但也可以找到以逗号作为匹配项的字符,从而错误地拆分字符串。
例如,如果我有字符串
hello\,there,are
结果将是e, 匹配我的正则表达式,而不仅仅是,。读取拆分字符串数组
[hello\,ther] [are]
为什么我正在使用的正则表达式一直在查找逗号和后续字符,而不是仅匹配逗号?
【问题讨论】:
-
因为您的reges由2个字符组成。它会找到的第一个字符是任何不是反斜杠的字符,第二个字符将是一个逗号。
-
@anubhava 是对的,您的正则表达式在逗号前匹配除 `\` 之外的任何内容。
-
@anubhava 谢谢,这就是我的想法。除了反转字符串来实现我的目标之外,javascript 中是否还有其他方法?
-
您不能在此处使用
split,因为您需要了解 JS 正则表达式不支持的情况。使用带有适当正则表达式的match。
标签: javascript regex string