PHP: регулярни изрази, preg отговарят на всички функции

PHP, какъвто е случаят със съвременния език за програмиране, предлага на разработчика набор от функции за използване на регулярни изрази. Можете да търсите за въвеждане на редове в други редове по сложни критерии.

HTML, CSS, XML и други формализирани файлове са класически задачи за използване на функцията preg match all. Не по-малко ефект е намирането на адреси, фамилии, телефонни номера, електронна поща и друга информация в неформални текстове.

Функционален формат

PHP предлага две функции за търсене: preg match и preg match all. Първият търси първата поява на шаблон в линия, а втората е всички събития. Понякога се използва терминът "случайно съвпадение". В първия случай резултатът от функцията е "низът е същият като шаблона," във втория случай, "намерените низове съответстват на шаблона". Формално, терминът "съвпадение" по-точно отразява същността, но естественият контекст на операцията обикновено е "търсене" на информация. На практика едното и другото са търсени. По-долу е даден формат на функцията.


Резултат от функция - номер, брой съвпадения. Всички намерени съвпадения се записват в съответстващи масиви. В случай на preg match all, можете да укажете реда на сортиране на масив:
  • PREG_PATTERN_ORDER;
  • PREG_SET_ORDER.
  • Сортиране в първата версия на групата на резултатите от търсенето чрез номера на регулярния израз (стойност по подразбиране). Във втория случай резултатите се групират по местоположението им в реда.

    Символът е елемент от шаблона

    Важно е да се помни, че моделът работи с символи. Програмирането отдавна е забравило какъв тип данни е "символ". Съвременните езици не слизатПод термина "низ", но по отношение на шаблона, който трябва да се разбере: тук се манипулират със символи.


    Конструирането на шаблон е преди всичко указание за желаната последователност от символи. Ако е ясно разбрано, няма да има грешки в шаблона. Във всеки случай ще бъде много по-малък.
  • a - това е специфичен елемент от шаблона - символ.
  • a-z е елемент от шаблона, също един символ, но само със стойността от a до z - цялата латинска азбука.
  • 0-9 е една цифра, с всяко, но 1-3 е само 1 2 или 3.
  • Регистърът в шаблона е важен. Първият и последният знак на шаблона са от голямо значение. Можете да посочите къде започва шаблонът и какъв е краят му.

    Шаблон за функция

    PHP preg съвпадение използва стандартния синтаксис на регулярните изрази. Квадратните скоби показват един от символите в тях:
  • [abc] само знаците a, b, c.
  • [^ ABC] всички, с изключение на знаци A, B, C.
  • w и W - текст или не текст.
  • s и S е пространствен или несвободен символ.
  • d и D е цифра или не цифра.
  • Символите за повторение са представени с фигурни скоби - {n, m} и се отнасят до предишния символ.
  • n означава повторение на "не по-малко";
  • m е повторение на "не повече".
  • Синтаксисът предлага много възможности за създаване на шаблони, но най-добре е да се започне с основи, тоест от прости, самостоятелно написани, в които липсват сложни елементи и комбинации. Просто казано, изброявайки истинските знаци, които ви трябват, като посочите необходимите им номера и като се има предвид, че символът "^" съответства на началото, а "$" - на края на реда,създавайте прости шаблони. Чрез анализиране на реални узаконени изрази от квалифицирани специалисти, можете да придобиете солидни знания, за да създадете усъвършенстван preg отговарят на всички приложения. Арсеналът на PHP не се ограничава до тези две функции, но те се използват най-често.

    Обикновена практика

    Шаблон за цяло число:
  • "/[0-9] * /"
  • Също и шаблон от цяло число, но предната част може да бъде знак ("+", "-") ), и може да има ненужни пропуски отпред /отзад:
  • /^ [s | + | -] {01} [0-9] * /
  • По подобен начин:
  • /^ [s | + | -] {01} [0-9] * (.) [0-9] * /- номер с точка.
  • /[0-9a-z_-]+@[0-9a-z_^.]+.[a-z]{23}/- Възможност за разпознаване на електронна поща.
  • Използването на шаблони за preg съответства на всички, примерите им в интернет, анализът на кодовите страници на сайтове и други източници ви позволяват да създадете своя собствена библиотека с шаблони.
    Варианти за намиране на информация могат да бъдат многобройни. По-специално, последните две дадени конструкции могат да бъдат моделирани по различен начин. В много случаи той ще има предимството на шаблон, който бързо и точно ще осигури правилното съвпадение. Използването на PHP preg отговаря на всички, както и на подобни функции на други езици, изисква практика, внимание и предварително валидиране на шаблони.

    Свързани публикации