Javascript RegExp и кавычки

1. Александр (26.03.2012 / 20:30)
lines = '1	"
scascsac"
2	sascs'
result = /\x22.*\x22/gmi.exec(lines);//не работает
result2 = /".*\"/gmi.exec(lines);//не работает
как найти то что между " кавычек?
как только не побывал всегда null

2. Вячеслав (02.04.2012 / 10:25)
lines = '1 "
scascsac"
2 sascs'
----
переносы строки разве допустимы?

3. Александр (02.04.2012 / 11:10)
2, ошибся когда писал на форум
lines = '1    "\r\nscascsac"\r\n2    sascs' 


4. Вячеслав (02.04.2012 / 11:19)
lines = '1    "\r\nscascsac"\r\n2    sascs'; 
var arr = lines.split('"');
// arr[1] == 'scascsac'
как то так

5. Александр (02.04.2012 / 11:22)
4, надо именно регуляркой.

6. Вячеслав (02.04.2012 / 11:39)
* - Обозначает повторение 0 или более раз. Например, /bo*/ найдет 'boooo' в "A ghost booooed" и 'b' в "A bird warbled", но ничего не найдет в "A goat grunted".

Добавлено через 01:21 сек.
или я что-то не знаю про точку? smile

7. Александр (02.04.2012 / 13:10)
6, точка это любой символ.
p.s Интересно почему
lines = '1\t"\r\nscascsac"\r\n2\tsascs' 
result3 = /.*/gmi.exec(lines);//не работает 
выводит '1 "' где остальное? как будто считает что \r\n конец строки. при том что флаг m есть.

8. Антон (02.04.2012 / 13:14)
уф, как вспомню эту либу так и вздрогну, когда-то путался в ней разобраться

9. Александр (02.04.2012 / 13:21)
о чудо,
result = /"(.|[\r\n\t])*"/gmi.exec(lines);//работает
получается в . нет спец символов, была такая мысль но так [.\r\n\t]* почему то не сработало.

10. Вячеслав (02.04.2012 / 13:57)
и всетаки не ясно почему именно регуляркой? ведь сплитом дешевле, проще, наглядне, меньше кода в конце концов. И я снова типа что-то не знаю? smile

11. Александр (02.04.2012 / 14:15)
10, будет регулярка по сложнее чем в #1, если кодом, то будет много кода.

URL: https://visavi.net/topics/30829