ПредишенСледващото

Структура регулярен POSIX е малко подобна на типичната структура на математически изрази - различните елементи (оператори) се комбинират един с друг за да образуват по-сложни изрази. Въпреки, че има смисъл да се комбинират елементи на регулярни изрази такова мощно и изразни средства. Възможности не са ограничени до търсенето на буквалния текст (например конкретна дума или номер); можете да търсите струни с различни семантика, но като синтаксис - например, всички HTML тагове във файла.

Най-простият регулярния израз съвпада буквално символ - например, изразът г е в такива линии, както г, пазарят и чанта. Изразът получен чрез комбиниране на няколко буквени символи съвпада със същите правила - например Ган последователности съща във всеки ред, съдържащ тези символи (например, група, организира или Reagan).

Оператор | (вертикална лента) проверява дали един от няколко алтернативи. За пример, регулярният израз PHP | Zend проверява за наличието на низ или PHP Zend.

квадратни скоби

Квадратните скоби ([]) имат специално значение в контекста на регулярни изрази - те разбира "всяка характер, посочени в скобите." За разлика от регулярен израз PHP, която е една и съща за всички редове, съдържащи буквален текст PHP, израз [PHP] съвпада с всеки низ, съдържащ символи или р ч. Конзолите са важни за работа с регулярни изрази, защото търсенето е често символ на задачата за намиране на определен интервал от време. някои често използвани диапазони Изброените по-долу:

  • [0-9] - съответства на всяка десетична цифра от 0 до 9;
  • [A-Z] - съответства на всяка малка буква от А до Z;
  • [A-Z] - съответства на всяка главна буква от А до Z;
  • [A -Z] - съответства на всеки символ на долната или горната кутия от А до Z.

Разбира се, интервалите изброени по-горе показват само общия принцип. Например, може да се използва интервала [0-3], за да посочват всички десетични числа от 0 до 3, или интервала [б-V], за да посочи всяка малки букви б до об. С една дума, интервалите се определят съвсем произволно.

quantifiers

Има специален клас от показатели за услуги, което показва броя на повторенията на един символ или дизайн, в квадратни скоби. Тези специални символи (+, * и) се наричат ​​quantifiers. Техният принцип на действие е най-лесно да се обясни с примери:

  • р + представлява един или повече символи р, стоящи ред;
  • р * означава нула или повече символа р, стоящи ред;
  • р? е нула или един символ р;
  • р е два символа р, стои в един ред;
  • р е две три знака р, стоящи ред;
  • р е две или повече знака р, стои в един ред.

Други специални символи

Специални знаци ^ и $, не съвпадат със символите, но с определена позиция в линията. Например, експресията на р $ е низ, който се прекратява чрез р, и експресията на р ^ - на линия, която започва с р символ.

  • Структура [^ а-ZA-Z] съвпада с всеки символ, който не е включен в определен интервал (A-Z и A-Z).
  • Специално характер. (Точка) означава "всеки символ". Например, RR израз съвпада с р символ, последвано от всеки знак, последван от р символ да бъде отново.

Комбинирането на заглавни символи води до по-сложни изрази. Разполагате с няколко примера:

  • . $ * - всеки низ, съдържащ точно два знака;
  • (. *) - всяка поредица от символи, затворено между <Ь> и (Вероятно HTML тагове за показване удебелен текст);
  • р (к) * - р символ последвана от нула или повече случаи к.с. последователност (например, phphphp).

Понякога трябва да се намери на специални знаци в струни, вместо да ги използват в описания специален контекст. За да направите това, специални символи са избягали с наклонена черта (\). Например, за да търсите парична сума в долари, можете да използвате израз \ $ [0-9] +, което е "знак за долар, следван от една или повече цифри след десетичната запетая." Обърнете внимание на обратната наклонена черта преди $. Възможна мач за този регулярен са $ 42, $ 560 и $ 3.

Стандартните изрази интервал (класове характер)

За удобство на програмиране от POSIX бяха идентифицирани някои стандартни интервал изрази, известен също като символен клас (класове характер). А характер клас определя един символ от набор интервал - например буква от азбуката или номера:

  • [[: Алфа:]] - азбучен характер (аа-ZZ);
  • [[: Digit:]] - цифри (0-9);
  • [[: Alnum:]] - азбучен характер (аа-ZZ) или няколко (0-9);
  • [[: Пространство:]] - пропуски (нов ред символи, раздели, и т.н.).

Ако не намерите това, което търсите, Ви препоръчваме да използвате лентата за търсене:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!