Помогите, пожалуйста, составить регулярное выражение
Здравствуйте! 4 день не могу решить проблему! Мне нужно split'ом разбить строку на пробелы, но не разбивать их внутри кавычек. Привожу пример:
Исходная строка: (page1 page2 page3-"page3_1 page 3_2 page3_3" page4) Должно разбиться на массив: (page1,page2,page3-"page3_1 page3_2 page3_3",page4) И еще... Кавычки могут быть и одинарные и двойные. И перед последнй скобкой может стоять &. Подскажите как сделать, ну или хотя бы в каком направлении копать. |
регулярные выражения сплит тоже принимает http://javascript.ru/String/split
ну и соответственно приведите свою попытку решения проблемы |
В том то и дело, что кое как получается большим количеством функций (и то, коряво). А регуляркой даже приблизительно не получается. Пробовал разбивать по пробелам, а потом, перебирая массив, смотреть соседние строки. Если в них есть -" и ", то объединить. Просто, код на другом компьютере и я не могу его сейчас выложить сюда.
|
sbudyakov,
:-? var str = "(page1 page2 page3-'page3_1 page 3_2 page3_3' page4)"; alert(str.match(/\S+["'][\S\s]+?["']|\S+/g)); str = '(page1 page2 page3-"page3_1 page 3_2 page3_3" page4&)' alert(str.match(/\S+["'][\S\s]+?["']|\S+/g)); |
рони,
Спасибо огромнейшее!!! |
Вопрос можно считать закрытым. Хочу только сказать, что выражение немого доделал. Для поиска слов в кавычках без пробелов лучше использовать такое выражение: \S+?["'][\S\s]+?["']|\S+.
|
Часовой пояс GMT +3, время: 16:14. |