Мое знакомство с регуляризацией PHP было основано на статье в Интернете. В этой статье описываются методы использования регулярных выражений PHP от простых до глубоких. Я думаю, что это хороший вводный материал. Однако успех зависит от конкретного человека. В процессе его использования я буду продолжать забывать об этом. Поэтому я прочитал эту статью четыре или пять раз, Для некоторых более сложных пунктов знаний даже требуется много времени, чтобы переварить, но пока вы настаиваете на чтении, вы обнаружите, что ваша способность использовать регулярность значительно улучшится.
Определение регулярного выражения PHP:
Грамматическое правило, используемое для описания схемы расположения и сопоставления символов. Он в основном используется для сегментации шаблонов, сопоставления, поиска и замены строк.
Регулярные функции в PHP:
В PHP есть два набора регулярных функций
Один из них предоставляется библиотекой регулярных выражений, совместимых с PCRE (Perl). Использование функций “preg”, названных для префиксов;
Набор функций, предоставляемых расширением POSIX (интерфейс портативной операционной системы Unix). Используйте функции “ereg”, названные для префиксов( библиотека регулярных функций Posix не рекомендуется, начиная с PHP 5.3. Он будет удален после PHP6.)
Поскольку регуляризация POSIX вот-вот будет запущена на историческом этапе, а форма PCRE и Perl аналогична, что более благоприятно для нас при переключении между Perl и PHP, в этой статье основное внимание уделяется использованию регуляризации PCRE.
Регулярное выражение PCRE
Полное имя PCRE-регулярное выражение, совместимое с Perl, что означает, что Perl совместим с регулярными выражениями.
В PCRE выражение шаблона (регулярное выражение) обычно включается между двумя обратными косыми чертами, такими как/apple/.
В регуляризации существует несколько важных понятий: метасимвол, побег, единица шаблона (повторение), антоним, ссылка и утверждение, которые можно легко понять и освоить в статье [1].
Часто используемые метасимволы:
Метасимвол объяснять
\A Соответствует атому в начале строки
\Z Атомы, соответствующие концу строки
\b Границы слов совпадают/\ bis/Строка соответствия с заголовком is/is\b/Строка соответствия заканчивается/\ BIS/B/делимитация
\B Соответствует любому символу, кроме слова граница/\ Bis/Совпадение “есть” в слове “это”
\d Соответствует номеру; Эквивалентно [0-9]
\D Соответствует любому символу, кроме цифры; Эквивалентно [^ 0-9]
\w Соответствует английской букве, цифре или подчеркиванию; Эквивалентно [0-9a-zA-Z]
\W Соответствует любому символу, кроме английских букв, цифр и знаков подчеркивания; Эквивалентно [^ 0-9a-zA-Z]
\s Соответствует пустому символу; Эквивалентно
\S Соответствует любому символу, кроме символа пробела; Он эквивалентен [^ f/T/v]
\f Сопоставление символа ленты страницы эквивалентно одному из следующих
Соответствует символу новой строки; Эквивалентно a или CJ
Сопоставление возврата каретки эквивалентно значению либо
\т Сопоставьте вкладку; Эквивалентно любому
\в Соответствует вертикальной вкладке; Эквивалентно любому
\оНН Соответствует восьмеричному числу
\xNN Соответствует шестнадцатеричному числу
\cC Соответствует контрольному символу
Модификаторы шаблонов:
Модификатор шаблона часто используется при игнорировании регистра и сопоставлении нескольких строк. Овладение этим модификатором часто может решить многие проблемы, с которыми мы сталкиваемся.
i – Совпадение прописных и строчных букв одновременно
M – Рассматривайте строки как несколько строк
S – Строка обрабатывается как одна строка, а символ новой строки обрабатывается как обычный символ, так что “.” соответствует любому символу
X – Пробелы в шаблоне игнорируются
U – Соответствует ближайшей строке
e – Используйте замененную строку в качестве представления
Формат/apple/I соответствует “apple” или “apple”, игнорируя регистр./я
Режимный блок PCRE:
//1 извлеките первый атрибут
/^\D {2} ([\ w]) \ \ D {2} \ \ 1/D {4} $соответствует “12-31-2006”, “09/27/1996”, “86 01 4321” и другие струны. Однако приведенное выше регулярное выражение не соответствует формату “12/34-5678”. Это связано с тем, что результат “/”шаблона” [\w]” был сохранен. Когда ссылаются на следующую позицию “\ 1″, ее соответствующим шаблоном также является символ”/”.
Используйте ячейку без режима хранения ” (?:)”, когда нет необходимости хранить результаты сопоставления
Например/(?): A|b|c) (d|e|f) \ \ 1g/будет соответствовать “AEEG”. В некоторых регулярных выражениях необходимо использовать ячейки, не относящиеся к режиму хранения. В противном случае вам необходимо изменить порядок последующих ссылок. Приведенный выше пример также может быть записан как/(a | B | C) (C | e | f) 2G/.
Функция регулярного выражения PCRE:
Конкретное использование функций можно найти в руководстве по PHP. Вот некоторые регулярные выражения, накопленные в обычное время:
Свойство действия соответствия
Использование функций обратного вызова в регуляризации
Регулярное сопоставление с утверждением
Заменить адрес в исходном коде HTML
Наконец, хотя обычный инструмент является мощным с точки зрения эффективности и времени записи, иногда он может быть не более прямым, чем взрыв. Для некоторых неотложных или менее сложных задач могут быть лучше простые и грубые методы.
Что касается эффективности выполнения между двумя сериями preg и reg, я видел статью, в которой говорилось, что preg должен быть быстрее. В частности, не так много раз используется ereg, и он будет запущен на исторической сцене. Кроме того, я предпочитаю способ PCRE, поэтому не буду проводить сравнение. Друзья, которые знакомы с ним, могут высказать свое мнение. Спасибо.