PHP.mk документација

Подшари

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

regexp.reference.subpatterns.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека regexp.reference.subpatterns.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Подшари

Референца за `regexp.reference.subpatterns.php` со подобрена типографија и навигација.

regexp.reference.subpatterns.php

Подшари

Subpatterns are delimited by parentheses (round brackets), which can be nested. Marking part of a pattern as a subpattern does two things:

  1. Подшаблоните се разграничени со загради (кружни загради), кои можат да бидат вгнездени. Означувањето на дел од шаблонот како подшаблон прави две работи: cat(aract|erpillar|) Локализира сет на алтернативи. На пример, шаблонот

  2. одговара на еден од зборовите "cat", "cataract" или "caterpillar". Без заградите, тој би одговарал на "cataract", "erpillar" или празниот стринг. ovector аргументот на pcre_exec()Го поставува подшаблонот како подшаблон за фаќање (како што е дефинирано погоре). Кога целиот шаблон ќе се совпадне, оној дел од стринг од субјектот што се совпаднал со подшаблонот се враќа на повикувачот преку

. Отварачките загради се бројат од лево надесно (почнувајќи од 1) за да се добијат броевите на подшаблоните за фаќање. the ((red|white) (king|queen)) На пример, ако стринг "the red king" се совпадне со шаблонот

фатените подстрингови се "red king", "red" и "king", и се нумерирани 1, 2 и 3. the ((?:red|white) (king|queen)) Фактот дека обичните загради исполнуваат две функции не е секогаш корисен. Честопати има моменти кога е потребен подшаблон за групирање без потреба од фаќање. Ако отворачката заграда е проследена со ":?", подшаблонот не прави никакво фаќање и не се брои при пресметување на бројот на какви било последователни подшаблони за фаќање. На пример, ако стринг "the white queen" се совпадне со шаблонот

фатените подстрингови се "white queen" и "queen", и се нумерирани 1 и 2. Максималниот број на фатени подстрингови е 65535. Сепак, можеби нема да биде можно да се компајлираат такви големи шаблони, во зависност од опциите за конфигурација на libpcre.

(?i:saturday|sunday)
(?:(?i)saturday|sunday)

Како пригоден кратенка, ако се потребни поставки на опции на почетокот на подшаблон што не фаќа, буквите со опции може да се појават помеѓу "?" и ":". Така двата шаблони

одговараат на сосема истиот сет на стрингови. Бидејќи алтернативните гранки се пробуваат од лево надесно, а опциите не се ресетираат додека не се достигне крајот на подшаблонот, поставката на опција во една гранка влијае на последователните гранки, така што горните шаблони одговараат на "SUNDAY" како и на "Saturday". (?P<name>pattern)Можно е да се именува подшаблон користејќи ја синтаксата (?<name>pattern) and (?'name'pattern).

. Овој подшаблон потоа ќе биде индексиран во низата на совпаѓања по неговата нормална бројчена позиција, а исто така и по име. Постојат две алтернативни синтакса (?| Понекогаш е неопходно да има повеќекратни совпаѓања, но алтернативни групи во регуларен израз. Нормално, секоја од нив би добила свој број на задна референца, иако само една од нив би можела некогаш да се совпадне. За да се надмине ова, Sunday:

(?:(Sat)ur|(Sun))day

синтаксата дозволува дупликат броеви. Разгледајте го следниот regex совпаднат со стринг Sun Тука Saturday yields Sat се чува во задна референца 2, додека задната референца 1 е празна. Совпаѓање (?| во задна референца 1, додека задната референца 2 не постои. Промена на шаблонот за користење на

(?|(Sat)ur|(Sun))day

го решава овој проблем: Sun and Sat would be stored in backreference 1.

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.