Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Регулярные выражения как язык
Язык регулярных выражений создан и оптимизирован для работы с текстом. В языке используется два основных типа знаков: обычные текстовые знаки и метасимволы. Своими возможностями регулярные выражения обязаны именно метасимволам. Распространенными метасимволами являются знаки "?" и "*", которые использовались в файловой системе DOS для представления одиночных знаков или групп знаков. Файловая команда DOS COPY *.DOC A: производит копирование всех файлов с расширением DOC на диск A. Метасимвол "*" здесь обозначает произвольное имя файла, стоящее перед расширением файла DOC. В регулярных выражениях эта концепция была существенно расширена, что привело к формированию обширного набора метасимволов, позволяющих создавать весьма сложные выражения с помощью сравнительно небольшого количества знаков. Например, при применении регулярного выражения \s2000 к тексту сообщения, будут найдены все вхождения строки "2000", которым предшествует любой пробельный символ, например пробел или табуляция.
С помощью регулярных выражений можно осуществлять и более сложный поиск. Например, регулярное выражение (?<char>\w)\k<char>, использующее именованные группы и механизм обратных ссылок, ведет поиск соседних парных знаков. Если применить его к строке "Я, пожалуй, выпью чашечку латте или мокко", то оно найдет совпадения в словах "латте" и "мокко" (подробные сведения об этом регулярном выражении см. в разделе Обратные ссылки.) В следующих разделах описывается набор метасимволов, которые используются в языке регулярных выражений платформы.NET Framework, а также демонстрируется порядок применения классов регулярных выражений для реализации регулярных выражений в приложениях.
Character Escapes Most of the important regular expression language operators are unescaped single characters. The escape character \ (a single backslash) signals to the regular expression parser that the character following the backslash is not an operator. For example, the parser treats an asterisk (*) as a repeating quantifier and a backslash followed by an asterisk (\*) as the Unicode character 002A. The character escapes listed in this table are recognized both in regular expressions and in replacement patterns.
Escape-знаки Большинство основных операторов языка регулярных выражений — это одиночные знаки без escape-знака. Escape-знак "\" (одиночная обратная косая черта) указывает модулю обработки регулярных выражений, что следующий за ним знак не является оператором. Например, звездочка (*) интерпретируется модулем обработки как квантор повторения, а звездочка, перед которой стоит знак обратной косой черты (\*), — как знак Юникода 002A. Escape-знаки, перечисленные в следующей таблице, распознаются как в регулярных выражениях, так и в шаблонах замены.
|