Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Получение строки между ковычек


Автор: mxt 17.12.2008, 04:47
Нужно получить текст между ковычек, при условии что, внутри могут быть экранированные ковычки.
Написал такое вот рег выражение
Код

/(?:[^\\]?")(?:\\"|[^"])+/


Частично работает, из текста 
Код

"00 \"dc "12dasd\"sada22" 99\"


получает строки
Код

00 \"dc 

и
Код

 99\

Хотя должен был получить только одну,   не могу понять  как доработать последнюю часть  smile 

Автор: ksnk 17.12.2008, 10:45
Регулярку, обычно, пишут немного другую. Вот регулярка для выедания кОвычек ' ` ". Главное, со слешами не запутаться... smile

Код

var reg=/([`'"])(([^\1\\]|\\.)*?)\1/g ,m,
      s='"00 \\"dc "12dasd\\"sada22" 99\\"';

while(m=reg.exec(s)){
  alert(m[0]);
}


P.S. Местный раскрашиватель не любит регулярные выражения, так что код без раскраски...smile

Автор: mxt 17.12.2008, 19:03
Это немного не то, но  направило в нужную сторону, спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)