如何使用正则表达式将具有复杂分隔符的字符串拆分?

时间:2015-04-17 08:39:30

标签: javascript regex split

我需要根据正则表达式解析一个字符串并返回一个字符串集合。

我需要解析的字符串类似于以下内容:

"NM2RAJ/Fred MR(IR1234)/MISAMISS1BLACK/DROID MR 1BROWN/JACK(IECSL/HALDUW/13JUN12)"

从上面的字符串中我想返回一个包含原始字符串中的以下字符串的数组:

O/P=>

array temp=["NM","RAJ/Fred MR(IR1234)/MISAMISS","BLACK/DROID MR ","BROWN/JACK(IECSL/HALDUW/13JUN12)"]

数据应该分配在括号中没有的数字上。

1 个答案:

答案 0 :(得分:1)

使用基于负前瞻的正则表达式。

var s = "NM2RAJ/Fred MR(IR1234)/MISAMISS1BLACK/DROID MR 1BROWN/JACK(IECSL/HALDUW/13JUN12)"
alert(s.split(/\d+(?![^()]*\))/))

\d+(?![^()]*\))匹配任何未跟随的数字,任何字符但不包括(),零次或多次以及右括号)。所以这匹配了paranthesis中不存在的所有数字。我假设您的括号已正确关闭。