preg_match ("/овцы | свинья | корова /", "свиньи и овцы группы животных") Это потому, что, хотя "овцы" является первой альтернативой регулярным выражением, "свинья" сначала появляется в строке, прежде, чем " овца'. Метасимволы Есть некоторые символы, которые вы не можете использовать в регулярном выражении. Эти символы просто имеют особое значение в регулярном выражении. Вот они: \\ + *? [^] $ (): {} =! <> | Они называются метасимволы. Метасимволы могут быть сопоставлены, поставив обратную косую черту перед ним.
Следующие примеры иллюстрируют это: preg_match ("/3 + 3 /", "3 + 3 = 6") # не соответствует, потому что "+" является метасимволом preg_match ("/3 \\ + 3 /", "3 + 3 = 3 ") # соответствует, потому что" \\ + "становится обычным" + "Следующее выражение производит матч: preg_match (" /WWW \\ .website \\ .com \\ /контактная \\ .html /"," www.website. ком /contact.html ") Всегда помните, что десятичная точка в качестве символа в регулярном выражении образов () всегда должен быть бежал, то есть" \\. ". Сочетание Соответствующие характеристики Вы можете комбинировать сопоставления возможностей.
Мы видели некоторые из них, такие, как в /[CBR] в /. Это еще один пример preg_match ("/\\ d {2,4} /", $ в год) выше, чтобы убедиться, что год, по крайней мере 2, но не более, чем из 4 цифр. Здесь $ год является предметом строка, и должны были объявлены. Переменная в Regex В шаблоне, вы можете иметь переменную вместо югу строки. Рассмотрим следующее заявление: $ переменная = "собака"; Следующее заявление матчи: preg_match ("/его $ Var по /", "Это его собака мной.") Здесь, картина, /его собака по /так же, как /его $ Var по /. В более поздней модели, "собака" была заменена на $ вар.
Классы символов Revisited Класс символов представляет собой набор символов в квадратных скобках, из которых любой один и только один из символов, найденных в субъекта по отношению к образцу сочетается. Рассмотрим шаблон (регулярное), $ п = "/[B