Статья о регулярных выражениях.

Yukko

Новичок
Статья о регулярных выражениях.

Первая редакция статьи о регулярных выражениях:
http://faq.webscript.ru/RegularExpressions

Понятно, что я описал не все аспекты работы с РВ, она далека от идеала и т.д.
Почитайте, скажите что непонятно, кто заметил ошибки, укажите. Пожелания, предложения, дополнения принимаются.
 

Сергей123

Новичок
Yukko
An opening curly bracket that appears in a position where a quantifier is not allowed, or one that does not match the syntax of a quantifier, is taken as a literal character. For example, {,6} is not a quantifier, but a literal string of four characters.
PHP:
echo preg_match('~[a-z]{,3}~', 'bd');
echo preg_match('~[a-z]{0,3}~', 'bd');
 

Yukko

Новичок
Разобрался, и вправду, ошибка, можно опускать второе значение, первое нельзя.
 

Макс

Старожил PHPClub
ИМХО примеры лучше бы сделать более приближенные к реальным потребностям в вебе, а не абстрактные
^[a-z]{5}[1-8]{4}$
(как например у Фридла)
 

Yukko

Новичок
Maxim Matyukhin
я не Фридл :) Если делать, как у него, то лучше просто книгу перепечатать (все ИМХО)
Фридл уже во второй главе начал использовать полностью весь арсенал, который он описывал в самом начале, я же написал так, как понимаю сам. На самом деле придумать понятные примеры к тому, что ты уже давно сам раскопал и понял достаточно сложная задача... буду думать.
 

Сергей123

Новичок
А почему решил не упоминать | и точку?

Мелкая опечатка ("на скорости" мешает быстро понять смысл, если поставить ударение на е):
вместо
"Шаблон – это нечто иное, как указатель что искать."
надо
"Шаблон – это не что иное как указатель что искать."
 

Yukko

Новичок
А почему решил не упоминать | и точку?
Потому что если я разживусь временем, то продолжу... и там будет как раз про это :) а также про другие спецсимволы, обозначения и т.д.
ИМХО на этапе вживления знаний про РВ в мозг человека, который только начинает учиться их использовать, знания про точку только мешают. Особенно, если он начнет пользоваться конструкциями .* и .*+

Мелкая опечатка
исправлено
 

Yukko

Новичок
young
В самом начале:
Статья написана для тех, кто считает регулярные выражения бессмысленным набором символов.
 

Фанат

oncle terrible
Команда форума
young для них и пишется :)
но если ты укажешь конкретные слабые места, их можно будет усилить. :)

внесу и я свою лепту в грамматическую баталию :)
правильно будет
"Шаблон – это ни что иное, как указатель, что искать"

в запятых не уверен, вообще-то, но буква и - 100%
 

Yukko

Новичок
Эк зацепило... исправлено на
Шаблон - это своеобразный указатель, что искать в строке.
 

Фанат

oncle terrible
Команда форума
не понял.
как можно на это ориентироваться?

а правильно будет снова не так.
а слитно.
сейчас свежим глазом посмотрел, и понял окончательно.
ничто иное, как! :)
 

Demiurg

Guest
Мне кажется, что статья для новичков сразу начинается с непонятных названий и определений. Для начала стоит сказать, что РВ /abc/ - это совпадение 3 подряд символов abc, /^abc$/ - это строка начинается, затем идет символ 'a' потом 'b' потом 'c', потом конец строки. Естественно сказать, что конец и начало строки это не символ перевода строки. Затем стоит рассказать о /^a.b$/ потом уже | , + , * и прочее. Не стоит сильно углубляться в тонкости и хитрости, лучше написать еще одну статью описывающую эти самые хитрости.

admin
По моему, хорошая статья по РВ бужет очень полезна. Сейчас в форуме куча вопросов по РВ, причем именно по основам. А доходчивого разъяснения нет нигде, только у димы несколько конкретных примеров.
 

Demiurg

Guest
Черновики выкладываем на demiurg.phpclub.net, результат отсылаем янгу. Все согласны ?
 

young

Новичок
Черновики выкладываем на demiurg.phpclub.net, результат отсылаем янгу. Все согласны
Да можно сделать тестовый раздел на деталях, проблем никаких

Иеальный мануал конечно тут http://ua2.php.net/manual/en/pcre.pattern.syntax.php, его бы перевести (кстати, я не против) - цены бы не было.

2Yukko: публиковать я не против, только добавь несколько практических примеров с комментариями, типа проверка мыла, подсветка ссылок, подсветка искомого текста, парсинг таблиц
Это повысит полезность статьи раза в 2
 

Demiurg

Guest
young
мануал - это мануал. по нему очень тяжело учиться. Нужна именно статья.
 

Yukko

Новичок
admin
давай ближе к практике, ты статью читал? по сути сказать есть что?

young
насчет мануала ничего сказать не могу, если у тебя есть время, начинай переводить, можем поделить на две части, так, ИМХО, проще будет.

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