如何使用正则表达式拆分具有复杂分隔符的字符串?
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+(?![^()]*\))
匹配任何后面没有跟的数字、任何字符但不属于 (
或 )
、零次或多次以及右括号 )
.所以这匹配括号内不存在的所有数字。我假设您的括号已正确关闭。
我需要根据正则表达式和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+(?![^()]*\))
匹配任何后面没有跟的数字、任何字符但不属于 (
或 )
、零次或多次以及右括号 )
.所以这匹配括号内不存在的所有数字。我假设您的括号已正确关闭。