Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.09.2009, 14:17
Новичок на форуме
Отправить личное сообщение для Arterk Посмотреть профиль Найти все сообщения от Arterk
 
Регистрация: 29.09.2009
Сообщений: 2

RegExp: точка == любому символу?
Вот код:
<div id="p1">
	<p>текст 1</p>
	<div class="s1">
		<hr>
		<p>текст 2</p>
	</div>
</div>
<script>
	txt = document.getElementById('p1').innerHTML;
	txt = txt.replace(/<div.*?<\/div>/igm, '');
	alert(txt);
</script>

Вместо ожидаемого:
<p>текст 1</p>

получаю:
<p>текст 1</p>
<div class="s1">
	<hr>
	<p>текст 2</p>
</div>


Где ошибка, разве точка не соответствует любому символу, включая \n?
Ответить с цитированием
  #2 (permalink)  
Старый 29.09.2009, 14:27
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Arterk
разве точка не соответствует любому символу, включая \n?
Нет.

txt = txt.replace(/<div[\s\S]*?<\/div>/ig, '');
Ответить с цитированием
  #3 (permalink)  
Старый 29.09.2009, 14:28
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

http://www.webmaster.ee/javascript/J.../RegExpJS.html

"(Десятичная точка) совпадает с любым одиночным символом, исключая символ новой строки. "
Ответить с цитированием
  #4 (permalink)  
Старый 29.09.2009, 14:40
Новичок на форуме
Отправить личное сообщение для Arterk Посмотреть профиль Найти все сообщения от Arterk
 
Регистрация: 29.09.2009
Сообщений: 2

Kolyaj, ZoNT, спасибо!
Ответить с цитированием
  #5 (permalink)  
Старый 29.09.2009, 18:46
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

ZoNT, Kolyaj, а почему //gm не присоветовали?
Ответить с цитированием
  #6 (permalink)  
Старый 29.09.2009, 21:58
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

e1f,
Может потому что 1. уже был до нас, 2. не помогает?
Ответить с цитированием
  #7 (permalink)  
Старый 29.09.2009, 22:07
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

[\s\S]
Ответить с цитированием
  #8 (permalink)  
Старый 30.09.2009, 14:30
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

(/^.+$/).test('asd\n') //false
(/^.+$/m).test('asd\n') //true
'a\nb'.replace(/./mg, '#') //перенос строки не заменяется

Спасибо, запомним

UPD Нашел "метод", как обойти это (кошмар!):
'a\nb'.replace(/\n/g,'\uffff').replace(/./g, '#')

Взято тут
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложение + плавающая точка RRRinat Я не знаю javascript 6 25.05.2009 20:27
Точка в пространстве zerg Общие вопросы Javascript 12 07.03.2009 15:44
Удаление по одному символу из текстового поля.. maxander Общие вопросы Javascript 1 08.12.2008 09:39
Как можно прикрепить звук к символу? Дима1234 Общие вопросы Javascript 1 16.10.2008 17:27