PHP.mk документација
Разлики од Perl
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
reference.pcre.pattern.differences.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + преведен приказ
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
reference.pcre.pattern.differences.php
Разлики од Perl
Референца за `reference.pcre.pattern.differences.php` со подобрена типографија и навигација.
Разлики во Perl
Разликите опишани овде се во однос на Perl 5.005.
- Стандардно, празно место е секој знак што функцијата isspace() од C библиотеката го препознава, иако е можно да се компајлира PCRE со алтернативни табели за типови на знаци. Нормално isspace() одговара на празно место, нов ред, враќање на количка, хоризонтална табулација и вертикална табулација. Perl 5 повеќе не вклучува вертикална табулација во својот сет на празни места. Бегството \v што беше во документацијата на Perl долго време, всушност никогаш не беше препознаено. Сепак, самиот знак се третираше како празно место барем до 5.002. Во 5.004 и 5.005 не одговара на \s.
- PCRE не дозволува повторувачки квантификатори на изјави за гледање напред. Perl ги дозволува, но тие не значат она што можеби мислите. На пример, (?!a){3} не тврди дека следните три знаци не се "a". Само тврди дека следниот знак не е "a" три пати.
- Зафаќачките подшеми што се појавуваат внатре во изјави за негативно гледање напред се бројат, но нивните записи во векторот на офсети никогаш не се поставуваат. Perl ги поставува своите нумерички променливи од сите такви шеми што се совпаѓаат пред изјавата да не успее да совпадне со нешто (со што успева), но само ако изјавата за негативно гледање напред содржи само една гранка.
- Иако бинарните нулти знаци се поддржани во низата на субјектот, тие не се дозволени во низата на образец бидејќи се пренесуваат како нормална C низа, завршена со нула. Бегствената секвенца "\x00" може да се користи во образецот за да претставува бинарна нула.
- Следниве Perl бегствени секвенци не се поддржани: \l, \u, \L, \U. Всушност, овие се имплементирани од општото ракување со низи на Perl и не се дел од неговиот механизам за совпаѓање на обрасци.
- Perl изјавата \G не е поддржана бидејќи не е релевантна за совпаѓање на единечни обрасци.
- Прилично очигледно, PCRE не ги поддржува конструкциите (?{code}) и (??{code}). Сепак, постои поддршка за рекурзивни обрасци.
-
There are at the time of writing some oddities in Perl 5.005_02 concerned with the settings of captured strings when part of a pattern is repeated. For example, matching "aba" against the pattern /^(a(b)?)+$/ sets $2 to the value "b", but matching "aabbaa" against /^(aa(bb)?)+$/ leaves $2 unset. However, if the pattern is changed to /^(aa(b(b))?)+$/ then $2 (and $3) get set. In Perl 5.004 $2 is set in both cases, and that is also
trueна PCRE. Ако во иднина Perl се промени во конзистентна состојба што е различна, PCRE може да се промени за да следи. - Another as yet unresolved discrepancy is that in Perl 5.005_02 the pattern /^(a)?(?(1)a|b)+$/ matches the string "a", whereas in PCRE it does not. However, in both Perl and PCRE /^(a)?a/ matched against "a" leaves $1 unset.
-
PCRE обезбедува некои проширувања на Perl објектите за регуларни изрази:
- Иако изјавите за гледање наназад мора да совпаѓаат низи со фиксна должина, секоја алтернативна гранка на изјава за гледање наназад може да совпадне со различна должина на низа. Perl 5.005 бара сите тие да имаат иста должина.
- Враќа PCRE_DOLLAR_ENDONLY Некои грешки (како што се грешки со ентитети) се пријавуваат на крајот од податоците, така што само ако PCRE_MULTILINE is not set, the $ meta-character matches only at the very end of the string.
- Враќа PCRE_EXTRA е поставено, обратна коса црта проследена со буква без посебно значење се смета за грешка.
- Враќа PCRE_UNGREEDY е поставено, алчноста на квантификаторите за повторување е инвертирана, односно, стандардно тие не се алчни, но ако се проследени со знак прашалник, тие се.
Белешки од корисници
Нема белешки од корисници за оваа страница.