2015-04-17 2 views
0

Мне нужно разобрать строку на основе регулярного выражения и вернуть коллекцию строк.Как разбить строку со сложными разделителями с помощью regex?

Строки мне нужно разобрать напоминает следующее:

"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)"] 

данные должны быть разделены на числа, которые не содержатся в круглых скобках.

+0

Я думаю, вам нужно разделить на 1 настоящее время в этой строке 'MISAMISS1BLACK'. –

+0

@ AvinashRaj обновлено – Rahul

ответ

1

Использовать негативное выражение регулярных выражений.

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

\d+(?![^()]*\)) совпадает с любым количеством, которое не следует, любой символ, но не ( или ), ноль или более раз, и закрывающей скобки ). Таким образом, это соответствует всем числам, отсутствующим внутри парантеса. Я предположил, что ваши скобки закрыты правильно.

Смежные вопросы