Javascript.RU

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

RegExp и теги
Чё та не получается разбить строку по тегам
var str='<g id="svg_1"><path my="" stroke-width="4" stroke="#f0f" fill="#ff0" d="M10,0L-10.07,80.3L0,80L50,50Z"\><circle r="20" cx="50" cy="50" stroke-width="3" stroke="#0f0" fill="none"/><path my="" stroke-width="1" stroke="#07f" fill="none" d="M0,30L60,0L0,60L-60,0Z"/><rect width="40" height="20" rx="5" ry="5" x="-20" y="30" stroke-width="6" stroke="#00f" fill="#0ff"/></g>abc';
// 
str.match(/<[a-z]+/g);// выдаёт <g, <path, ... и тд, но как ставлю точку выдаёт всю строку целиком до конца...
//
str.match(/<[a-z]+.*/g>// а мне надо куски только до следующего закрывающего тега
Пробовал и теги экранировать и вместо звёздочки ставил {1,100} - так делит но мне не до ста надо, а до тега, не врублюсь ни как...
Подскажите пожалуйста, в чём дело?

Последний раз редактировалось K313, 05.03.2012 в 12:36.
Ответить с цитированием
  #2 (permalink)  
Старый 05.03.2012, 12:45
Интересующийся
Отправить личное сообщение для K313 Посмотреть профиль Найти все сообщения от K313
 
Регистрация: 05.03.2012
Сообщений: 11

Вот блин!!!
<[a-z]+.*?\/?>
Нечаяно поставил "?" после звёздочки и заработало! Но только теперь не понимаю какого он там нужен???
Ответить с цитированием
  #3 (permalink)  
Старый 05.03.2012, 13:05
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Парсинг BBcode
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #4 (permalink)  
Старый 06.03.2012, 00:52
Интересующийся
Отправить личное сообщение для K313 Посмотреть профиль Найти все сообщения от K313
 
Регистрация: 05.03.2012
Сообщений: 11

спасибо за ссылку, пригодиться...
Но я так и не понял как знак вопроса влияет на правило точки со звёздочкой, по идее и так подразумевается любой символ 0 и более раз, но при этом без знака вопроса совпадение не останавливается на следующем закрывающем теге а продолжается до конца строки.
Ответить с цитированием
  #5 (permalink)  
Старый 06.03.2012, 01:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

K313,
Жадная и ленивая квантификация
Варианты для вашего поиска
str.match(/<[^>]+>/g)
str.match(/<.*?>/g)
Ответить с цитированием
  #6 (permalink)  
Старый 06.03.2012, 03:36
Интересующийся
Отправить личное сообщение для K313 Посмотреть профиль Найти все сообщения от K313
 
Регистрация: 05.03.2012
Сообщений: 11

Спасибо что ткнули носом!
Теперь всё понял!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery .html() вырезает теги ART-DELI jQuery 7 18.04.2011 11:49
Как текст из responseText преобразовать в теги? Бобр AJAX и COMET 24 26.02.2010 04:37
мааленький вопрос по Regexp:) mirniy Общие вопросы Javascript 1 22.01.2009 20:47
RegExp & Mozilla (быстродействие) tau Общие вопросы Javascript 9 24.11.2008 16:35
RegExp и unicode Yury900 Общие вопросы Javascript 7 13.05.2008 00:19