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

How do I split a string with complex delimiters using regex?

我需要根据正则表达式和return一组字符串来解析一个字符串。

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

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

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

O/P=>

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

数据应根据括号中未包含的数字进行分区。

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

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

\d+(?![^()]*\)) 匹配任何后面没有跟的数字、任何字符但不属于 ()、零次或多次以及右括号 ) .所以这匹配括号内不存在的所有数字。我假设您的括号已正确关闭。