powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
15 сообщений из 15, страница 1 из 1
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34966334
last_elf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С помощью регулярных выражений хочется решить следующую задачу:
Найти все открывающие и соответствующие им закрывающие теги.

1. Нужно чтобы это был один и тот же тег (<span id=a1><span id=a2></span></span> - чтобы мы нашли отдельно спан с id==a1 и закрывающий к нему спан, и отдельно тоже самое для id==a2)
2. Хотелось бы, чтобы регуляка включала поиск всех возможных тегов. (То есть для <b> смотрим </b>, для <div> смотрим </div> и т.д., естественно учитывая степень вложенности).
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34966875
I_Work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Регулярное выражение (точнее - процедура обработки этого выражения) вернет вам массив строк.
В вашем примере: как вы собираетесь отличить, какой именно </span> относится к <span id="id1">, а какой - к <span id="id2">.
Вопрос поставлен не совсем понятно.

Ознакомьтесь с regexp.ru
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34967549
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
html-парсер на регекспах? Обсуждалось, в поиск.
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34974912
last_elf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Парсер парсеру рознь - конкретные задачи то у каждого свои...

Моя ситуация такая. Допустим есть такая строчка:

<b>...</span>...<span>...</span>...<span>...</b>

Необходимо её преобразовать в правильную с точки зрения браузера. Иными словами следует определить какие из тегов не имеют пары в пределах это сточки и перед ними поставить </b>, а после них - <b>. То есть должно получится:

<b>...</b></span><b>...<span>...</span>...</b><span><b>...</b>

Предлогалось сделать поиск не/парных тегов через стек. Проходимся по строчке и каждый тег записываем в стек, а если он является закрывающим, по отношению к предыдущему записанному тегу - убираем из стека последний элемент (тот самый, к которому только что нашли пару). В стеке также должен храниться индекс (позиция в строке) начала тега.

В итоге после действия алгоритма можем получить такое состояние стека:

1) </span> 15
2) <span> 123

И мы уже будем знать, какие теги помещать в </b><b>

Вопрос - как при поиске регуляркой узнать позицию вхождения шаблона?
Как вам алгоритм, не слишком ли страшный? ;)
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34975036
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
юзай indexOf и будет тебе счастье.
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34975145
last_elf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так этот метод регуляркой не ищет!

Мне надо чтобы был массив вхождений и массив индексов.
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34975221
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а тут и не нужно никаких регулярок
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34975291
last_elf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно, я просто объяснил наверное задачу плохо.

Есть стока вида <b>...</b>, где внутри гарантированно нет еще других тегов жирности. Зато есть все возможные другие теги, не только <span>. И нужно выделить из них те, у к-рых нет пары.

Итого из этого:
<b>...</span>...</div>...<span>...</span>...<span>...</b>
Получим это:
<b>...</b></span><b>...</b></div><b>...<span>...</span>...<span>...</b>
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34975304
last_elf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, на самом деле получим это, но сути не меняет, я думаю все уже понятно...

<b>...</b></span><b>...</b></div><b>...</b><span><b>...</span>...<span>...</b>

Последние 2 спана лежат внутри, в отл от остальных тегов.
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34975863
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да с чего ты взял, что тут регулярки нужны? Не нужны они тут, indexOf юзай.
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34976048
last_elf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ыыы.. а как я пойму на каких позициях в строчке находятся теги?
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34976220
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
indexOf тебе и выдаёт позицию.
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34976248
last_elf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Позицию чего он вернет? Метод indexOf принимает в качестве аргумента строчку. То есть он ищет вхождение одной строчки в другую и выдаёт этот индекс. Как он выдаст индекс вхождения произвольного тега, к-рый можно задать только регулярным выражением ?
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34977079
ambarka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего спорить то!
пробуй RegExp.exec() в сочетании с RegExp.lastIndex - должно отлично получится
если не получится то String.indexOf('<') и ручками ручками
...
Рейтинг: 0 / 0
Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
    #34977268
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
last_elfКак он выдаст индекс вхождения произвольного тега, к-рый можно задать только регулярным выражением ?почему произвольного? Ты же span ищешь.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярка. Поиск открывающих и соответствующих им закрывающих тегов.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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