Warning: include(/home/avedenin/public_html/../bar/bar.php) [function.include]: failed to open stream: No such file or directory in /home/avedenin/public_html/prg/up.php on line 37

Warning: include() [function.include]: Failed opening '/home/avedenin/public_html/../bar/bar.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/avedenin/public_html/prg/up.php on line 37
Поисковая система и Online учебник по программированию и веб - дизайну

Поиск для программиста

  1. Все сайты по теме
  2. Статьи и книги
  3. Форумы и блоги

Шпаргалки
(краткий синтаксис
разных языков)

Операции
Приоритеты
Типы данных
Операторы
Переменные
Функции
Классы
Математика
Строки
Память

Учебник
(Сравнительный анализ синтаксиса десятка языков)

О языках
Комментарии
IF
CASE
FOR
FOREACH
DO.. WHILE
With
Метки
GOTO
BREAK
Операции
Типы данных
Переменные
Видимость
Функциями
ООП
Исключения
#IF
Память
Матем.функции
Коллекции
Cтроки
БД.SQL

<<Cтатьи>>
C++58
Delphi 138
Java
155
C#
3
Visual Basic
47
PHP
63
JavaScript 69
Perl 15
ASP 23
Ассемблер 35
C++ 102
Java 29
C# 20
JavaScript 2
Perl 2



Escape-знаки



Escape-знаки Описание
Обычные знаки Все знаки, кроме $ ^ { [ ( | ) * + ? \ соответствуют сами себе.
\a Соответствует знаку колокольчика (будильника) \u0007.
\b Соответствует знаку возврата \u0008, если встречается в классе знаков []; в регулярном выражении \b означает границу слова (между знаками \w и \W), за исключением класса знаков [], в котором \b соответствует знаку возврата. В группе знаков для замены \b всегда означает пробел.
\t Соответствует знаку табуляции \u0009.
\r Соответствует знаку возврата каретки \u000D.
\v Соответствует знаку вертикальной табуляции \u000B.
\f Соответстсвует знаку подачи бланка \u000C.
\n Соответствует знаку новой строки \u000A.
\e Соответствует escape-знаку \u001B.
\040 Соответствует знаку ASCII как восьмеричному числу (до трех разрядов); числа, начинающиеся не с нуля представляют собой обратные ссылки, если они состоят из одной цифры или соответствуют номеру собираемой группы. (Дополнительные сведения см. в разделе Обратные ссылки.) Например, знак \040 соответствует пробелу.
\x20 Соответствует знаку ASCII в шестнадцатеричном представлении (строго две цифры).
\cC Соответствует управляющему знаку ASCII; например, \cC — CTRL+C.
\u0020 Соответствует знаку Юникода в шестнадцатеричном представлении (строго четыре цифры).
\ Со следующим знаком, который не распознается как escape-знак, соответствует этому знаку. Например, \* — то же самое, что \x2A.






В следующей таблице приводится описание именованных и нумерованных групп знаков для замены.



Знак Описание
$номер Замещает последнюю подстроку, соответствующую группе с десятичным номером номер.
${имя} Замещает последнюю подстроку, соответствующую группе (?<имя> ).
$$ Substitutes a single "$" literal.
$& Замещает копию самого соответствия целиком.
$` Замещает весь текст строки входных данных до соответствия.
$' Замещает весь текст строки входных данных после соответствия.
$+ Замещает последнюю собранную группу.
$_ Замещает всю строку входных данных.



Класс знаков — это набор знаков, который будет соответствовать любому знаку, входящему в этот набор.



Класс знаков Описание
. Соответствует любому знаку, кроме \n. Если задан параметр Singleline, точка соответствует любому знаку.
[aeiou] Соответствует любому из знаков, перечисленных в заданном наборе.
[^aeiou] Соответствует любому из знаков, не перечисленных в заданном наборе.
[0-9a-fA-F] С помощью дефиса (–) задается диапазон последовательно расположенных знаков.
\p{имя} Соответствует любому знаку в классе знаков, заданном параметром {имя}. Поддерживаемые имена — группы и диапазоны блоков Юникода. Например: Ll, Nd, Z, IsGreek, IsBoxDrawing.
\P{имя} Соответствует тексту, не включенному в группы и диапазоны блоков, заданные параметром {имя}.
\w Соответствует любому алфавитно-цифровому знаку. Эквивалентен категориям знаков Юникода [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]. Если с помощью параметра ECMAScript задано поведение, совместимое с ECMAScript, класс \w равнозначен [a-zA-Z_0-9].
\W Соответствует любому знаку, не являющемуся цифрой или буквой. Эквивалентен категориям Юникода.[^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]. Если с помощью параметра ECMAScript задано поведение, совместимое с ECMAScript, класс \W равнозначен [^a-zA-Z_0-9].
\s Соответствует любому знаку пробела. Эквивалентен категориям знаков Юникода.[\f\n\r\t\v\x85\p{Z}]. Если с помощью параметра ECMAScript задано поведение, совместимое с ECMAScript, класс \s равнозначен [ \f\n\r\t\v].
\S Соответствует любому знаку, не являющемуся пробелом. Эквивалентен категориям знаков Юникода.[^\f\n\r\t\v\x85\p{Z}]. Если с помощью параметра ECMAScript задано поведение, совместимое с ECMAScript, класс \S равнозначен [^ \f\n\r\t\v].
\d Соответствует любой десятичной цифре. Поведение аналогично параметру ECMAScript \p{Nd} для знаков Юникода и [0-9] для других знаков.
\D Соответствует любому знаку, кроме цифр. Поведение аналогично параметру ECMAScript \P{Nd} для знаков Юникода и [^0-9] для других знаков.



Параметры регулярных выражений <конструктор Regex(выражение,опции)>
Член RegexOption Описание Знак
None Указывает, что ни один параметр не задан. Нет
IgnoreCase Задает сопоставление, не учитывающее регистр. i
Multiline Устанавливает многострочный режим. Изменяет функцию знаков ^ и $ так, что они определяют соответствие в начале и конце любой строки, а не только в начале и конце полной строки, содержащей эти строки. m
ExplicitCapture Указывает, что допустимыми собираемыми группами являются только группы, заданные явно именем или номером в форме (?<name>...). Это позволяет использовать круглые скобки для задания групп, не являющихся собираемыми, без применения синтаксически неудачной конструкции (?:...). n
Compiled Предписывает компилировать регулярное выражение в сборку. Создает код промежуточного языка MSIL для данного регулярного выражения, благодаря чему повышается производительность в процессе запуска. Нет
Singleline Устанавливает однострочный режим. Изменяет функцию точки (.) так, что она соответствует любому знаку (в том числе и \n). s
IgnorePatternWhitespace Предписывает исключить из группы знаков пробелы, не являющиеся escape-знаками, и включает комментарии, начинающиеся со знака #. (Список знаков пробела, являющихся escape-знаками, см. в разделе Escape-знаки.) Пробелы никогда не исключаются из состава класса знаков. x
RightToLeft Задает поиск справа налево вместо поиска слева направо. Регулярное выражение с этим параметром перемещается от начального положения влево, а не вправо. (По этой причине начальное положение должно быть задано в конце, а не в начале строки.) Этот параметр не следует задавать внутри потока, чтобы не получить регулярное выражение с бесконечным циклом. Вместо этого можно применить конструкции обратного поиска (?<), которые можно использовать как вложенное выражение. Параметр RightToLeft изменяет только направление поиска. Он не изменяет направления строки поиска. Утверждения lookahead и lookbehind не изменяются: lookahead выполняет поиск вправо; lookbehind выполняет поиск влево. Нет
ECMAScript Задает для регулярного выражения поведение, совместимое с ECMAScript. Этот параметр можно использовать только в сочетании с флагами IgnoreCase и Multiline. Использование ECMAScript с любыми другими флагами вызывает исключение. Нет
CultureInvariant Предписывает игнорировать языковые различия культур. Дополнительные сведения см. в разделе Выполнение операций без учета региональных стандартов в пространстве имен RegularExpressions. Нет
Положение искомого текста
Утверждение Описание
^ Указывает, что совпадение должно находиться в начале текста или строки. Учитывает Multiline.
$ Указывает, что совпадение должно находиться в конце строкового значения, перед \n в его конце, или в конце строки. Учитывает Multiline.
\A Указывает, что совпадение должно находиться в начале текста (игнорирует Multiline)
\Z Указывает, что совпадение должно находиться в конце текста или перед \n в его конце (игнорирует Multiline)
\z Указывает, что совпадение должно находиться в конце текста (игнорирует Multiline)
\G Указывает, что совпадение должно находиться в той точке, где заканчивается предыдущее совпадение. Используется с Match.NextMatch()для проверки непрерывности расположения всех совпадений.
\b Указывает, что совпадение должно находиться на границе между знаками \w (алфавитно-цифровыми) и \W (не алфавитно-цифровыми). Эти совпадения должны быть на границах слов, то есть на первом и последнем знаках в словах, разделенных знаками, не являющимися буквами или цифрами.
\B Указывает, что совпадение не должно находиться на границе \b.



В следующей таблице описаны спецсимволы, которые влияют на количество сопоставлений.
Квантор Описание
* Соответствует любому числу повторений или их отсутствию, например: \w* или (abc)*. Равнозначно {0,}.
+ Соответствует одному или нескольким повторениям, например: \w+ или (abc)+. Равнозначно {1,}.
? Соответствует одному повторению или отсутствию повторений, например: \w? или (abc)?. Равнозначно {0,1}.
{n} Соответствует строго n повторениям, например: (pizza){2}.
{n,} Соответствует не менее чем n повторениям, например: (abc){2,}.
{n,m} Соответствует не менее чем n, но не более чем m повторениям.
*? Соответствует первому совпадению, включающему наименьшее возможное количество повторений (равнозначно «ленивому» *).
+? Соответствует наименьшему числу повторений, но не меньше чем одному (равнозначно «ленивому» +).
?? Соответствует отсутствию повторений, если это возможно, или одному повторению («ленивый» ?).
{n}? Равнозначно {n} («ленивый» {n}).
{n,}? Соответствует наименьшему числу повторений, но как минимум n («ленивый» {n,}).
{n,m}? Соответствует наименьшему возможному числу повторений от n до m («ленивый» {n,m}).






Применяя конструкции группировки, можно собирать группы вложенных выражений и более эффективно использовать регулярные выражения с помощью несобирающих модификаторов поиска вперед и назад. В следующей таблице описаны конструкции группировки регулярных выражений.



Конструкция группировки Описание
(   ) Собирает сопоставляемую подстроку (или несобирающую группу; дополнительные сведения см. в описании параметра ExplicitCapture в разделе Параметры регулярных выражений). Группы, собираемые с помощью конструкции (), нумеруются автоматически по порядку открывающей скобки, начиная с 1. Первая собираемая группа, элемент с номером 0, — это текст, соответствующий всей группе знаков регулярного выражения.
(?<имя>   ) Собирает сопоставляемую подстроку в имя группы или имя номера. Строка, используемая в качестве значения имя, не должна содержать знаков пунктуации и не может начинаться с цифры. Вместо квадратных скобок можно использовать одинарные кавычки, например: (?'имя').
(?<имя1-имя2> ) Уравновешивающее определение группы. Удаляет определение ранее определенной группы имя2 и сохраняет в группе имя1 интервал между прежде определенной группой имя2 и текущей группой. Если группа имя2 не определена, сопоставление возвращается. Поскольку после удаления последнего определения имя2 открывается предыдущее определение имя2, эта конструкция позволяет использовать стек собираемых групп для группы имя2 как счетчик для отслеживания вложенных конструкций, например скобок. В этой конструкции имя1 не обязательно. Вместо квадратных скобок можно использовать одинарные кавычки, например: (?'имя1-имя2').
(?:   ) Несобирающая группа.
(?imnsx-imnsx:   ) Применяет или отключает заданные параметры внутри вложенного выражения. Например, (?i-s: ) отключает учет регистра и однострочный режим. Дополнительные сведения см. в разделе Параметры регулярных выражений.
(?=   ) Положительное утверждение поиска вперед нулевой ширины. Продолжает сопоставление, только если вложенное выражение совпадает справа от этой позиции. Например, \w+(?=\d) соответствует слову, за которым следует цифра, но не соответствует цифре. Эта конструкция не возвращается.
(?!   ) Отрицательное утверждение поиска вперед нулевой ширины. Продолжает сопоставление, только если вложенное выражение не совпадает справа от этой позиции. Например, \b(?!un)\w+\b соответствует словам, которые начинаются не с un.
(?<=   ) Положительное утверждение поиска назад нулевой ширины. Продолжает сопоставление, только если вложенное выражение совпадает слева от этой позиции. Например, (?<=19)99 соответствует всем сочетаниям 99, следующим за 19. Эта конструкция не возвращается.
(?<!   ) Отрицательное утверждение поиска назад нулевой ширины. Продолжает сопоставление, только если вложенное выражение не совпадает слева от этой позиции.
(?>   ) Невозвращающееся («жадное») вложенное выражение. После того, как вложенное выражение полностью совпало один раз, оно не участвует в возвращении по частям. (То есть, вложенное выражение соответствует только тем строкам, которые могли бы сопоставляться одним этим подвыражением.)



В следующей таблице перечислены дополнительные параметры, добавляющие модификаторы обратных ссылок в регулярное выражение.
Конструкция обратных ссылок Определение
$номер Обратная ссылка Например, (\w)\1 находит двойные алфавитно-цифровые знаки.
\k<имя> Именованная обратная ссылка. Например, (?<char>\w)\k<char> находит двойные алфавитно-цифровые знаки. Те же действия выполняются выражением (?<43>\w)\43. Вместо квадратных скобок можно использовать одинарные кавычки, например: \k'char'.



В следующей таблице перечислены специальные знаки, изменяющие регулярное выражение так, что оно может сопоставляться по принципу «либо-либо».



Конструкция изменения Определение
| Соответствует любому из слов, разделенных вертикальной чертой (|), например: cat|dog|tiger. Первое слева слово соответствует в первую очередь.
(?(expression)yes|no) Соответствует части yes, если в данной точке выражение совпадает; в противном случае соответствует части no. Часть no может быть опущена. Выражение может быть любым допустимым вложенным выражением, но оно превращается в утверждение нулевой ширины, поэтому данный синтаксис равнозначен (?(?=выражение)yes|no). Обратите внимание, что если выражение является именем именованной группы или номером собираемой группы, конструкция изменения интерпретируется как проверка собираемой группы (описана в следующей строке таблицы). Чтобы избежать путаницы в таких случаях, можно явно развернуть вложенное (?=выражение).
(?(name)yes|no) Соответствует части yes, если имеется соответствие строке именованной собранной группы; в противном случае соответствует части no. Часть no может быть опущена. Если заданное имя не соответствует имени или номеру собранной группы, использованной в этом выражении, конструкция изменения интерпретируется как проверка выражения (описанная в предыдущей строке таблицы).



В следующей таблице перечислены вложенные выражения, изменяющие регулярное выражение.




Конструкция Определение
(?imnsx-imnsx) Устанавливает или отключает такие параметры, как учет регистра, которые устанавливаются и отключаются внутри группы знаков для замены. Сведения об определенных параметрах см. в разделе Параметры регулярных выражений. Изменение параметра действительно до конца содержащей группы. См. также сведения о конструкции группировки (?imnsx-imnsx: ), которая является формой очистки.
(?#   ) Встроенный комментарий внутри регулярного выражения. Комментарий заканчивается первой закрывающей скобкой.
# [до конца строки] Комментарий режима X. Комментарий начинается от знака # без escape-знака и продолжается до конца строки. (Обратите внимание, что для распознавания такого комментария должен быть активизирован параметр x или перечисляемый параметр RegexOptions.IgnorePatternWhitespace.)

Ваш комментарий



Добавить эту поисковую систему в Ваш Google Bar Разделы учебника
<> Хостинг сайта: EOMY.NET