Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Основные регулярные выражения &FAQ


Автор: Mal Hack 25.12.2005, 13:01
 Регулярки на мыло:
http://forum.vingrad.ru/index.php?showtopic=46596

Регулярки на URL
http://forum.vingrad.ru/index.php?showtopic=46685

Проблемы с кодировкой: 


http://forum.vingrad.ru/topic-130706.html
http://forum.vingrad.ru/topic-110026.html
http://forum.vingrad.ru/topic-114071.html url
http://forum.vingrad.ru/topic-11348.html строки
 

Автор: FractalizeR 12.1.2008, 17:53
http://regexlib.com/ - регулярки на все-все-все остальное smile

Автор: supervladislav 29.5.2009, 15:28
может кому пригодиться ))генератор регулярных выражений 
http://jedi.web-visage.com/gen/gen.php

а вот ещё один генератор )))на мой взгляд самый лучший 
http://www.txt2re.com/index-php.php3

Автор: enof 29.5.2009, 17:53
supervladislav, Фигня какая-то. Проще подучить хотя бы основы регулярных выражений, чем разобраться с этим генератором. Всяко пользы будет больше.

Автор: Staind 11.7.2009, 23:12
Очень хорошая статья по регулярным выражениям: http://debugger.ru/articles/nativeregexp
Мега респект автору. Разложил основы по полочкам.

Автор: Genn 27.8.2012, 08:53
теперь буду знать где искать. не всегда быстро нагуглить правильные вещи получается.

делал .htaccess, надо было обработать мнимые символы:

мнимые символы нулевого размера, расположенные на границе между реальными символами в точке, соответствующей определенному условию:


(?= шаблон) - после этой точки есть фрагмент текста, который соответствует указанному регулярному выражению 
(?! шаблон) - после этой точки нет текста, который бы соответствовал указанному регулярному выражению, 
(?<= шаблон) - перед этой точкой есть фрагмент текста, соответствующий указанному регулярному выражению, 
(?<! шаблон) - перед этой точкой нет фрагмента текста, соответствующего указанному регулярному выражению. 
(?#текст) - комментарий. Текст комментария игнорируется. 
(?:шаблон) или (?модификаторы:шаблон) - группирует элементы шаблона. В отличие от обычных круглых скобок, не создает нумерованной переменной. Например, модификатор i не будет делать различия между строчными и заглавными буквами, однако область действия этого модификатора будет ограничена только указанным шаблоном. 
(?=шаблон) - "заглядывание вперед". Требует, чтобы после текущей точки находился текст, соответствующий данному шаблону. Такая, конструкция обрабатывается как условие или мнимый символ, поскольку не включается В результат поиска. Например, поиск с помощью команды /w+(?=\s+)/ найдет слово, за которым следуют один или несколько "пробельных символов", однако сами они в результат не войдут. 
(?!шаблон) - случай, противоположный предыдущему. После текущей точки не должно быть текста, соотносимого с заданным шаблоном. Так, если шаблон w+(?=\s) - это слово, за которым следует "пробельный символ", то шаблон w+(?!\s) - это слово, за которым мет "пробельного символа". 
(?<=шаблон) - заглядывание назад. Требует, чтобы перед текущей точкой находился соответствующий текст. Так, шаблон (?<=\s)w+ интерпретируется как слово, перед которым имеется пробельный символ (в отличие от заглядывания вперед, заглядывание назад может работать только с фиксированным числом проверяемых символов). 
(?<!шаблон) - отрицание предыдущего условия.

сделал так
RewriteRule ^(?!word-)(.*).html$ index.php?id=$1 [L,QSA]
RewriteRule ^word-(.*).html$ link.php?id=$1 [L,QSA]

не часто используется, а вещь мощная

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)