Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Тексты > скажите как выловить вот этот символ < |
Автор: supervladislav 24.10.2009, 22:15 |
скажите никак немогу понять как через регулярные выражения выловить вот эти два символ < ," есть ли символьная заглушка ??? |
Автор: capitan 25.10.2009, 14:19 |
обратный слеш \" |
Автор: supervladislav 25.10.2009, 14:24 |
capitan, моглибы ввы написать пример |
Автор: capitan 25.10.2009, 14:37 |
http://www.pcre.ru/examples/links/text/36/ можно тут глянуть http://www.pcre.ru/docs/php/text/stdsyntax/ тут можно почитать мануал. Читать раздел "Обратный слеш" |
Автор: supervladislav 25.10.2009, 15:18 |
я честно говоря ничего непонял))) /(<((a.+?)- вот тут вот разве символ < экранирован |
Автор: capitan 25.10.2009, 15:40 |
< - не является спецсимволом. Его не нужно экранировать. |
Автор: supervladislav 25.10.2009, 15:42 |
а покажите пожалуйста как надо экранировать " двойные кавычки |
Автор: capitan 25.10.2009, 15:52 |
\" |
Автор: supervladislav 25.10.2009, 15:57 |
а двумя в каких случаях |
Автор: capitan 28.10.2009, 13:29 |
brother79, Откуда Вы взяли что в регулярных выражениях необходимо экранировать < и > ? Символ '\' имеет несколько применений. Прежде всего, если он предшествует не буквенно-цифровому символу, он снимает с него специальное значение. В метасимволах нет ни < ни >. В частном случае для сопоставления с самим символом обратного слеша, используется запись '\\'. Дайте ссылку на инфу, откуда Вы такое прочитали. |
Автор: brother79 28.10.2009, 13:47 | ||||
Читал бумажное издание : Джеффри-фридл "Регулярные выражения" 2008г., там совы на обложке нарисованны, толстенькая книжка. Я счас не помню что они значат, но что-то типа начала и конца слова, сам натыкался на эту беду не раз, поэтому всегда экранирую, иначе не работает.
тут вообще я вас не понял, я вроде нормально написал, если строка в двойных кавычках, то его дополнительно экранировать надо от php, если одинарные - то он никак не меняется, одного достаточно для того, чтобы использовать в регулярном выражении. Добавлено через 5 минут и 20 секунд А если так уж не верится, можете попробовать выполнить код
И поссмотреть что вернёт. |
Автор: capitan 28.10.2009, 14:04 |
brother79, теперь понятно. Я просто никогда не использую preg_quote. Я сам в регулярке все экранирую. А далее preg_match, preg_match_all и preg_replace |
Автор: brother79 28.10.2009, 14:13 |
Всмысле "preg_quote экранирует", а то что-то не так в выражение "для preg_quote" в данном контексте ![]() |
Автор: capitan 28.10.2009, 14:18 | ||
Описался ![]() Мне только не очень понятно, зачем нужна preg_quote ? Когда в патерне можно все сделать самому и так как нужно. Может из-за того что я не пользуюсь данной функцией. |
Автор: brother79 29.10.2009, 06:02 | ||
Всё просто. Предположим есть какой-то текст который где-то в переменной лежит и надо его использовать в регулярном выражении, тогда и применяется preg_quote, т.к. у тебя уже не константа, а переменная используется, и ты сам в неё можешь только всякими str_replace или preg_replace что-то экранировать, если бы не было preg_quote. |