[Image] Четверг, 19.12.2024, 03:15 [Image]
SEO, технологии, игры, IT новости
[Image] Главная Регистрация Вход [Image]
[Image] Приветствую Вас, Гость · RSS [Image]
Меню сайта

Форма входа
 Блог
Главная » 2010 » Декабрь » 20 » Основы регулярных выражений
16:15
Основы регулярных выражений

Регулярные выражения, по сути, представляют собой полностью новый язык, со своими правилами, структурой и своими причудами. Вы также обнаружите, что ваши знания других языков программирования практически никак не помогают в изучении регулярных выражений — по той простой причине, что регулярные выражения в высшей степени специализированы и следуют своим собственным правилам.
В соответствие с определением Клина, основные аксиомы регулярных выражений таковы:

• Отдельный символ — это регулярное выражение, описывающее само себя.
• Последовательность регулярных выражений является регулярным выражением.
• Любое регулярное выражение, за которым следует символ * (известный также,
как "звезда Клина"), представляет собой регулярное выражение, составленное
из нуля или более экземпляров этого регулярного выражения.
• Любая пара регулярных выражений, разделенная символом канала ( | ) , является
регулярным выражением, состоящим либо из левого, либо из правого регулярного выражения.
• Для группирования регулярных выражений могут использоваться скобки.

Все это может показаться вам сложным, и автор подтверждает, что это испугало и его, когда он впервые прочитал об этом. Однако, основа все же вполне доступна пониманию. Во-первых, самое простое регулярное выражение — это единственный символ. Например, регулярное выражение 'а' соответствует букве "а" в слове "Marco".
Обратите внимание, что при нормальных условиях регулярное выражение является двоичной операцией, поэтому "а" не эквивалентно "А". То есть это регулярное выражение не соответствует букве "А" в слове "MARCO".
Далее, односимвольные регулярные выражения могут быть сгруппированы, если их разместить рядом. То есть, регулярное выражение, 'wonderful' соответствует слову
"wonderful" в предложении "Today is wonderful day".
Пока регулярные выражения не слишком отличаются от нормальных операций поиска. Однако на этом сходство кончается. Как уже упоминалось, вы можете использовать символ звездочки для создания регулярного выражения, которое может повторяться несколько раз (включая ноль). Например, рассмотрим следующую строку: seeking the treasures of the sea
Регулярное выражение se* интерпретируется как "буква V, за которой следует ноль или более экземпляров буквы 'е'" и соответствует следующему:

• Буквам "see" слова "seeking", где регулярное выражение 'е' повторяется дважды.
• Обоим экземплярам буквы V в слове "treasures", где после V следует ноль экземпляров 'е'.
• Буквам "se" слова "sea", где 'е' представлено один раз.

Важно понимать, что в предыдущем примере звездочка относится только к выражению 'е'. Несмотря на то что можно использовать скобки для группирования регулярных выражений, не следует думать, что применение (se) * является хорошей идеей, поскольку компилятор регулярных выражений интерпретирует это как "одно или более вхождений" фрагмента 'se'.
Если применить это регулярное выражение к предшествующей строке, вы обнаружите всего 30 совпадений, поскольку каждый символ строки будет ему соответствовать
(Помните? Ноль или более вхождений!).
Вы обнаружите, что скобки часто применяются в сочетании с оператором канала для указания альтернативных спецификаций регулярного выражения. Например, применение выражения дг (и | а) к следующей строке: grab the grub and pull соответствует и "grub" и "grab".


Категория: Все о PHP | Просмотров: 1465 | Добавил: witkom8382 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024
Категории
Оптимизация сайта [592]
Создание сайтов [355]
Заработать в интернете [508]
Технологии [48]
Полезное [392]
Услуги и сервисы [317]
Автоблог [105]
Скрипты для Ucoz [39]
Движок на сайт [10]
Все о Joomla и Drupal [20]
Все о PHP [91]
Поиск
Пользовательский поиск
Статистика


Онлайн всего: 3
Гостей: 3
Пользователей: 0
Seo сайт, технологии продвижения, мета теги, оптимизация сайтов, новости сео, Скрипты, Ucoz

Рейтинг@Mail.ru