Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярные выражения / 14 сообщений из 14, страница 1 из 1
24.10.2014, 19:15
    #38786995
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
есть строка html <table>...</table>
как из неё выбрать содержимое ячеек, т.е. то, что заключено между td> и </td
...
Рейтинг: 0 / 0
24.10.2014, 21:32
    #38787056
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
вадяесть строка html <table>...</table>
как из неё выбрать содержимое ячеек, т.е. то, что заключено между td> и </td

а зачем регулярками???

для джейквери (можно и любой другой фреймворк, да хоть чистый джаваскрипт)
найти нужную таблицу , найти все её тд, взять содержимое.
...
Рейтинг: 0 / 0
24.10.2014, 23:07
    #38787085
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
это строка ешё не таблица, jquery кщё не рулит
решил задачу другим способом
но вопрос остался.
пока чисто познавательный
почему это не работает
<td>(.*)</td>
...
Рейтинг: 0 / 0
24.10.2014, 23:41
    #38787095
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
дано
<td>fdf</td><td>fd9f</td>
такое
var r = new RegExp('<td>(.*?)(?=<\/td>)', 'gi');
var g = p.match(r);
вернёт массив
<td>fdf
<td>fd9f
как избавиться от <td> ?
...
Рейтинг: 0 / 0
24.10.2014, 23:56
    #38787102
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
...
Рейтинг: 0 / 0
25.10.2014, 14:20
    #38787209
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
а без циклов? только RegExp...чисто спротивный интерес.
...
Рейтинг: 0 / 0
25.10.2014, 15:45
    #38787233
-k2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
вадя,

:)
var s = '<td>1fdf</td><td>2kjhjk</td>';
var m = s.replace(/<td>/gi,'').replace(/<\/td>/gi, ';').split(';',2);
...
Рейтинг: 0 / 0
25.10.2014, 16:06
    #38787242
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
-k2-вадя,

:)
var s = '<td>1fdf</td><td>2kjhjk</td>';
var m = s.replace(/<td>/gi,'').replace(/<\/td>/gi, ';').split(';',2);
ну да это короче :)
но я имел в виду правильно составить RegExp('<td>(.*?)(?=<\/td>)', 'gi')
я таки надеюсь, что у меня там неправильно что-то...
...
Рейтинг: 0 / 0
27.10.2014, 15:35
    #38788335
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
ну да...тыже вписал в регулярку сам тег!!!

а она ищет совпадение всему регулярному выражению... а не тому что в скобках..

могу подсказать, но ты ведь можешь сам сделать! :) поэтому спрошу..

а почему закрывающий тег не выводит в результат?
...
Рейтинг: 0 / 0
27.10.2014, 19:44
    #38788600
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
alex564657498765453, там один из вопросов делает "ленивый" режим...
лучше подскажи, я перепробывал, всякие варианты, и видимо, ошибаюсь в какойто мелочи, которую не могу разглядеть.
если делать
RegExp('<td>(.*?)(<\/td>)', 'gi')
то запомнит всё между первым и самым последним тегом </td>
...
Рейтинг: 0 / 0
27.10.2014, 21:47
    #38788665
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
мдя... я думал ты сам написал...походу копипаст откудато

var r = new RegExp('<td>(.*?)(?=<\/td>)', 'gi');

ключевой момент сдесь следующий
(?=<\/td>)

МАТЧАСТЬ
a(?=b)

означает символ а, НО не любой, а только тот после которого стоит б

тоесть
аб
ас
найдёт
а
ничего

символ б это не часть шаблона, это лишь "модификатор" который уточняет что не все символы а подходят.

называеться положительный просмотр вперёд

есть аналогично положительный просмотр назад вроде (?<...
...
Рейтинг: 0 / 0
27.10.2014, 23:16
    #38788719
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
alex564657498765453есть аналогично положительный просмотр назад вродев JS его нет.
...
Рейтинг: 0 / 0
27.10.2014, 23:19
    #38788720
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
вадяа без циклов? только RegExp...чисто спротивный интерес.а нафига?
цикл - стандартный подход, когда надо матчить g-regex с группами.

можно было бы и без групп, но тогда требуется "просмотр назад", а его в JS нет.
...
Рейтинг: 0 / 0
28.10.2014, 05:57
    #38788807
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
alex564657498765453,
написал то я сам, только я не мастак нписанное рассказывать :)
лучше чем у Кантора не напишешь
http://javascript.ru/regexp
http://javascript.ru/basic/regular-expression
а я надеялся - ты рабочий вариант предложишь :(

2Яростный Меч, с циклами я знаю, тута всё просто
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярные выражения / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]