Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   многострочный поиск в регулярных выражениях (https://javascript.ru/forum/misc/9934-mnogostrochnyjj-poisk-v-regulyarnykh-vyrazheniyakh.html)

smollvrn 11.06.2010 19:56

многострочный поиск в регулярных выражениях
 
text = text.replace(/<\/div>\r(<\/div>)^/img ,"2");

не пойму как заставить это работать , т.е. нужно в тексте отловить два подряд закрывающихся дива , второй с новой строки , к сожалению не нашел примеров по многострочному поиску в регулярных выражениях , может кто подскажет ?...

"Наконец, опция многострочного поиска позволяет проводить сопоставление с образцом строкового выражения, состоящего из нескольких строк текста, соединенных символами разрыва строки. По умолчанию, сопоставление с образцом прекращается, если найден символ разрыва строки. Данная опция преодолевает указанное ограничение и обеспечивает поиск образца по всей исходной строке. Она также влияет на интерпретацию некоторых специальных символов в регулярных выражениях, а именно: Обычно символ ^ сопоставляется только с первым элементом строки. Если же опция многострочного поиска включена, то он также сопоставляется с любым элементом строки, которому предшествует символ разрыва строки. "

Kolyaj 11.06.2010 20:29

\n забыли.

smollvrn 11.06.2010 20:45

если можно то хотелось бы рабочий вариант , \n \r , все местами менял , добавля ^ & в различных вариантах , не работает...

Kolyaj 11.06.2010 20:46

А зачем у вас ^ в конце?

smollvrn 11.06.2010 21:04

я обрисовал конструкцию как себе это более менее представляю

пробывал все из нижеперечисленного , не срабатывает

text = text.replace(/<\/div>$\n^<\/div>/img ,"2");

text = text.replace(/(<\/div>)$\n^(<\/div>)/img ,"2");

text = text.replace(/<\/div>\n<\/div>/img ,"2");

text = text.replace(/>$/n^</img ,"2");

Kolyaj 11.06.2010 21:25

Я не могу понять, зачем вам /m вообще нужен. И без него всё будет работать, только ^ убрать.

qwoiejfoiej 11.06.2010 22:38

У вас везде новая строка обозначается то \n, то \r, хотя должна быть \r?\n

e1f 12.06.2010 12:29

Цитата:

Сообщение от qwoiejfoiej (Сообщение 59094)
У вас везде новая строка обозначается то \n, то \r, хотя должна быть \r?\n

Хе-хе. А про Mac забыли :)

рони 12.06.2010 13:51

может так?
<form name="f" action="http://">
<textarea name="t"  ></div>
 </div></textarea><textarea name="t2"  ></textarea></form>
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
text= document.forms.f.t.value;
text = text.replace(/(<\/div>\s*?<\/div>)/img ,"2");
document.forms.f.t2.value=text;
/*]]>*/
</script>

Тима 24.02.2011 09:29

http://javascript.ru/tutorial/regexp-specials


Часовой пояс GMT +3, время: 00:36.