Веб Дизайн - статьи


Шаг 1. Выделение всех тегов


Запишем правила разбора по-русски:

  1. Найдём подстроку '<'
  2. Начнём захватывать символы в последовательность

    1. Захватим одну или более букву алфавита

  3. Завершим захватывать совпадения
  4. Захватим 0 или более символов, не совпадающих с набором символов '>'
  5. Захватим подстроку '>'
  6. Начнём захватывать символы в последовательность

    1. Захватим 0 или более символов, не совпадающих с набором символов '>'

  7. Завершим захватывать совпадения

Теперь, когда задача точно описана, можно приступить к записи её в виде регулярного выражения:

  1. <
  2. (

    1. \w+

  3. )
  4. [^>]*
  5. >
  6. (

    1. [^<]*

  7. )

У нас получилось следующее выражение:

<(\w+)[^>]*>([^<]*)

Оно имеет 2 недостатка:

  1. захватывает все теги, а не только парные.
  2. некорректно отрабатывает вложенные теги.




- Начало -  - Назад -  - Вперед -



Книжный магазин