Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.08.2011, 20:36
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

RegExp глюк пробелы портят всё
просто не знаю как побороть этот глюк
есть регулярка
var reg=/<|>|"(([^\\"]|\\.)*)"|\$(\w*)|(\w*)/gim;

берём строку
$str='
 
<
		"<",
		<
			<
				!,
';

и соответственно запускаем это дело,
reg.exec(str);

и оно не работает,
но если убрать пробелы и знаки переноса между словами которые ищутся то работает,
и если убрать последнюю часть выражения тоже работает
var reg=/<|>|"(([^\\"]|\\.)*)"|\$(\w*)/gim;

вот что с этим делать не пойму
Ответить с цитированием
  #2 (permalink)  
Старый 01.08.2011, 21:22
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от scuter
и соответственно запускаем это дело,
reg.exec(str);
и оно не работает,
Что за бред? У вас переменная в php сценарии, а запускаете Вы код на JS.
Ответить с цитированием
  #3 (permalink)  
Старый 01.08.2011, 22:05
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

Сообщение от B@rmaley.e><e Посмотреть сообщение
Что за бред? У вас переменная в php сценарии, а запускаете Вы код на JS.
var str=' \n <\n /</,\n <\n <\n "!",\n "sdfs">,\n ';
var reg=/<|>|"(([^\\"]|\\.)*)"|\$(\w*)|(\w*)/gim;
reg.exec(str);

у меня текст находится в текстовом поле textarea
и жава скриптом вытаскивается, поэтому результат строки может быть разный,
поэтому и написал php-шкой.
Ответить с цитированием
  #4 (permalink)  
Старый 01.08.2011, 22:19
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

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

var str=' \n <\n /</,\n <\n <\n "!",\n "sdfs">,\n '; 
var reg=/<|>|"(([^\\"]|\\.)*)"|\$(\w*)|(\w+)/gim; 
alert( reg.exec(str) );
Ответить с цитированием
  #5 (permalink)  
Старый 01.08.2011, 23:19
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

извиняюсь, я тупой.
понял в чём дело
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Название ячейки таблицы Questioner Общие вопросы Javascript 6 16.02.2011 09:58
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37