Parle
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Parle
Референца за `parle.pattern.matching.php` со подобрена типографија и навигација.
Парле совпаѓање на обрасци
Parle поддржува regex совпаѓање слично на flex. Исто така се поддржани следниве POSIX множества на знаци:
[:alnum:], [:alpha:], [:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], [:xdigit:].
Unicode класи на знаци моментално не се овозможени по дифолт, поминете --enable-parle-utf32 за да ги направите достапни. Посебна кодировка може да се мапира со правилно конструиран regex. На пример, за да се совпадне симболот EURO кодиран во UTF-8, регуларниот израз [\xe2][\x82][\xac] може да се користи. Шемата за UTF-8 кодиран стринг би можела да биде [ -\x7f]{+}[\x80-\xbf]{+}[\xc2-\xdf]{+}[\xe0-\xef]{+}[\xf0-\xff]+.
Претстави на знаци
| Секвенца | = NULL |
|---|---|
| \a | Предупредување (ѕвонче). |
| \b | Backspace. |
| \e | ESC знак, \x1b. |
| \n | Newline. |
| \r | Враќање на количка. |
| \f | Форма фид, \x0c. |
| \t | Хоризонтална табулација, \x09. |
| \v | Вертикална табулација, \x0b. |
| \oct | Знак специфициран со трицифрен октален код. |
| \xhex | Знак специфициран со хексадецимален код. |
| \cchar | Именуван контролен знак. |
Класи на карактери
| Секвенца | = NULL |
|---|---|
| [...] | Еден знак наведен или содржан во наведен опсег. Опсезите може да се комбинираат со {+} and {-} оператори. На пример [a-z]{+}[0-9] е исто како [0-9a-z] and [a-z]{-}[aeiou] е исто како [b-df-hj-np-tv-z]. |
| [^...] | Еден знак што не е наведен и не е содржан во наведен опсег. |
| . | Кој било знак, стандардно [^\n]. |
| \d | Цифрен знак, [0-9]. |
| \D | Нецифрен знак, [^0-9]. |
| \s | Бел знак, [ \t\n\r\f\v]. |
| \S | Не бел знак, [^ \t\n\r\f\v]. |
| \w | Збор знак, [a-zA-Z0-9_]. |
| \W | Не збор знак, [^a-zA-Z0-9_]. |
Unicode класи на знаци
| Секвенца | = NULL |
|---|---|
| \p{C} | Other. |
| \p{Cc} | Друго, контрола. |
| \p{Cf} | Друго, формат. |
| \p{Co} | Друго, приватна употреба. |
| \p{Cs} | Друго, сурогат. |
| \p{L} | Letter. |
| \p{LC} | Буква, со случај. |
| \p{Ll} | Буква, мала. |
| \p{Lm} | Буква, модификатор. |
| \p{Lo} | Буква, друга. |
| \p{Lt} | Буква, насловна. |
| \p{Lu} | Буква, голема. |
| \p{M} | Mark. |
| \p{Mc} | Ознака, спојувачка празнина. |
| \p{Me} | Ознака, опфаќачка. |
| \p{Mn} | Ознака, неспојувачка. |
| \p{N} | Number. |
| \p{Nd} | Број, децимална цифра. |
| \p{Nl} | Број, буква. |
| \p{No} | Број, друго. |
| \p{P} | Punctuation. |
| \p{Pc} | Интерпункција, сврзник. |
| \p{Pd} | Интерпункција, цртичка. |
| \p{Pe} | Интерпункција, затворање. |
| \p{Pf} | Интерпункција, завршна кавга. |
| \p{Pi} | Интерпункција, почетна кавга. |
| \p{Po} | Интерпункција, друго. |
| \p{Ps} | Интерпункција, отворање. |
| \p{S} | Symbol. |
| \p{Sc} | Симбол, валута. |
| \p{Sk} | \p{Sm} |
| \p{Sm} | \p{So} |
| \p{So} | \p{Z} |
| \p{Z} | Separator. |
| Separator, line. | Сепаратор, линија. |
| Separator, paragraph. | Сепаратор, параграф. |
| Separator, space. | Сепаратор, празно место. |
Овие класи на карактери се достапни само ако опцијата --enable-parle-utf32 беше проследена при времето на компилација.
Алтернација и повторување
| Секвенца | Алчен | = NULL |
|---|---|---|
| ...|... | - | Обидете се со под-обрасци во алтернација. |
| * | yes | Погоди 0 или повеќе пати. |
| + | yes | Погоди 1 или повеќе пати. |
| ? | yes | Погоди 0 или 1 пат. |
| {n} | no | Поклопи точно n пати. |
| {n,} | yes | Поклопи барем n пати. |
| {n,m} | yes | Поклопи барем n пати, но не повеќе од m пати. |
| *? | no | Погоди 0 или повеќе пати. |
| +? | no | Погоди 1 или повеќе пати. |
| ?? | no | Погоди 0 или 1 пат. |
| {n,}? | no | Поклопи барем n пати. |
| {n,m}? | no | Поклопи барем n пати, но не повеќе од m пати. |
| {MACRO} | - | Вклучи го регуларниот израз MACRO во тековниот регуларен израз. |
Анкери
| Секвенца | = NULL |
|---|---|
| ^ | Почеток на низата или по нов ред. |
| $ | Крај на низата или пред нов ред. |
Групирање
| Секвенца | = NULL |
|---|---|
| (...) | Групирај регуларен израз за да ја надвладееш стандардната преcedence на операторите. |
| (?r-s:pattern) |
Примени ја опцијата r и изостави ја опцијата s при толкување на образецот. Опциите може да бидат нула или повеќе од знаците i, s или x.
i значи нечувствително на големи и мали букви.
-i значи чувствително на големи и мали букви.
s го менува значењето на . за да се совпадне со кој било знак.
-s го менува значењето на . за да се совпадне со кој било знак освен \n.
x игнорира коментари и празни места во обрасци. Празни места се игнорираат освен ако не се избегнати со коса црта, содржани во ""s, или се појавува во опсег на знаци.
Овие опции можат да се применат глобално на ниво правила со поминување комбинација од битни знаменца на лексерот.
|
| (?# коментар ) | Исклучи сè во (). Првиот наиден знак ) го завршува образецот. Не е можно коментарот да содржи знак ). Коментарот може да се протега низ редови. |