Помогите пожалуйста собрать регулярку
Уже час сижу над тем, чтобы из
Код:
Ряд 1Код:
Ряд 1 str = str.replace(/\n([.]*)/gim, '<newline>');но оно не учитывает, что замену нужно производить внутри кавычек. Мой внутренний логик не понимает, почему str = str.replace(/(["]+[.]*)\n([.]*["]+)/gim, '$1<newline>$2');не имеет никакого эффекта на строку. |
CraftLawrence,
<textarea id="test" rows="7" cols="70">Ряд 1
Ряд 2
"Ряд 3
Ряд 4
Ряд 5
Ряд 6"
Ряд 7
Ряд 8</textarea>
<script>
test.value = test.value.replace(/("[^"]+")/gim, function(a) {
return a.split(/\n\r?/).join('<newline>')
});
</script>
|
Цитата:
Я даже не удивлен, что тут всё на много сложнее, чем я думал. Огромное спасибо! |
<textarea id="test" rows="7" cols="70">Ряд 1
Ряд 2
"Ряд 3
Ряд 4
Ряд 5
Ряд 6"
Ряд 7
Ряд 8</textarea>
<script>
test.value = test.value.replace(/"|\r?\n/g, function f(a) {
return (a == '"') ? (f.inQ = !f.inQ, a) : (f.inQ ? '<newline>' : a);
});
</script>
|
| Часовой пояс GMT +3, время: 03:21. |