2013-08-14 3 views
-2

Я хочу изучить шаблоны регулярных выражений. Я использую некоторые модели, но там я не понимаю вещей, смотрите пример ниже моделиphp регулярные выражения documantation

"%(<$tag.*?>)(.*?)(<\/$tag.*?>)%is" 

'/<img class="icerik" src="(.*)" alt="(.*)" \/>/Ui' 

'@\b\d+\[email protected]' 

Как вы можете видеть:

  • некоторых узоры, начиная и заканчивая символом%,
  • некоторых шаблоны, начинающиеся и заканчивающиеся символом @
  • некоторые шаблоны, начинающиеся и заканчивающиеся на # символ,
  • также есть «есть, Ui, Xi, i» и т. д. символы конце шаблонов.

Что это? И как я узнаю, мне нужен начальный и конечный характер?

Есть ли какая-либо документация, которая объясняет все это?

+0

учебник по регулярному выражению google php. Это кажется хорошим сайтом (видео-тет): http://net.tutsplus.com/tutorials/php/regular-expressions-for-dummies-screencast-series/ – jeff

+0

http://regular-expressions.info/ – Spudley

ответ

2

Хороший ресурс, чтобы узнать больше о регулярных выражениях PCRE: regular-expressions.info.
Чтобы ответить на ваш вопрос: регулярное выражение должно быть ограничено определенными символами. Общие символы: #, @, или /. Но {expression} действительно.

Причина, почему вы не можете использовать /, как регулярное выражение JS является то, что она требует от вас, чтобы избежать каких-либо слеша, которые являются частью вашего регулярного выражения

/http:\/\/www/i 
//can be written as: 
#http://www#i 

на флаги (как они называются) как в моих примерах i являются модификаторы, которые могут изменить поведение всего рисунка: (опять i для случая-Нечувствительность):

/[a-zA-Z]/ 
//can be written as 
/[a-z]/i 

A full list of modifiers can be found in the PHP manual

+0

+1 и [ссылка на документацию по ограничителям PHP] (http://www.php.net/manual/en/regexp.reference.delimiters.php) – stema

0

Gskinner - отличное средство обучения регулярному выражению. В правой части окна вы можете найти сэмплы tab, там вы можете понять, какое выражение что-то делает.

Не пропустите этот инструмент!

Смежные вопросы