Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Топ:
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Регулярное выражение на C# задается строковой константой. Это может быть обычная или @-константа. Чаще всего, следует использовать именно @-константу. Дело в том, что символ "\" широко применяется в регулярных выражениях как для записи escape-последовательностей, так и в других ситуациях. Обычные константы в таких случаях будут выдавать синтаксическую ошибку, а @-константы не выдают ошибок и корректно интерпретируют запись регулярного выражения.
Синтаксис регулярного выражения простой формулой не описать, здесь используются набор разнообразных средств:
Конечно, регулярное выражение может быть совсем простым, например, строка "abc" задает образец поиска, так что при вызове соответствующего метода будут разыскиваться одно или все вхождения подстроки "abc" в искомую строку. Но могут существовать и очень сложно устроенные регулярные выражения. Приведу таблицу, (15.1) в которой дается интерпретация символов в соответствии с их делением на группы. Таблица не полна, в ней отражаются не все группы, а описание группы не содержит всех символов. Она позволяет дать общее представление о синтаксисе, которое будет дополнено большим числом примеров. За деталями придется обращаться к справочной системе, которая, к сожалению, далеко не идеальна для данного раздела.
Повторяю, данная таблица не полна. В ней не отражены, например, такие категории, как подстановки, обратные ссылки, утверждения.
Для приведенных категорий также не дан полный список возможных символов.
| Таблица 15.1. Символы, используемые в регулярных выражениях | |
| Символ | Интерпретация |
| Категория: escape-последовательности | |
| \b | При использовании его в квадратных скобках соответствует имволу "обратная косая черта" с кодом - \u0008 |
| \t | Соответствует символу табуляции \u0009 |
| \r | Соответствует символу возврата каретки \u000D |
| \n | Соответствует символу новой строки \u000A |
| \e | Соответствует символу escape \u001B |
| \040 | Соответствует символу ASCII, заданному кодом до трех цифр в восьмеричной системе |
| \x20 | Соответствует символу ASCII, заданному кодом из двух цифр в шестнадцатиричной системе |
| \u0020 | Соответствует символу Unicode, заданному кодом из четырех цифр в шестнадцатиричной системе |
| Категория: подмножества (классы) символов | |
| . | Соответствует любому символу, за исключением символа конца строки |
| [aeiou] | Соответствует любому символу из множества, заданного в квадратных скобках |
| [^aeiou] | Отрицание. Соответствует любому символу, за исключением символов, заданных в квадратных скобках |
| [0-9a-fA-F] | Задание диапазона символов, упорядоченных по коду. Так, 0-9 задает любую цифру |
| \p{name} | Соответствует любому символу, заданному множеству с именем name, например, имя Ll задает множество букв латиницы в нижнем регистре. Поскольку все символы разбиты на подмножества, задаваемые категорией Unicode, то в качестве имени можно задавать имя категории |
| \P{name} | Отрицание. Большая буква всегда задает отрицание множества, заданного малой буквой |
| \w | Множество символов, используемых при задании идентификаторов - большие и малые символы латиницы, цифры и знак подчеркивания |
| \s | Соответствует символам белого пробела |
| \d | Соответствует любому символу из множества цифр |
| Категория: Операции (модификаторы) | |
| * | Итерация. Задает ноль или более соответствий; например, \w* или |
| (abc)*. | Аналогично, {0,} |
| + | Положительная итерация. Задает одно или более соответствий; например, \w+ или (abc)+. Аналогично, {1,} |
| ? | Задает ноль или одно соответствие; например, \w? или (abc)?. Аналогично, {0,1} |
| {n} | Задает в точности n соответствий; например, \w{2} |
| {n,} | Задает, по меньшей мере, n соответствий; например, (abc){2,} |
| {n,m} | Задает, по меньшей мере, n, но не более m соответствий; например, (abc){2,5} |
| Категория: Группирование | |
| (?<Name>) | При обнаружении соответствия выражению, заданному в круглых скобках, создается именованная группа, которой дается имя Name. Например, (?<tel> \d{7}). При обнаружении последовательности из семи цифр будет создана группа с именем tel |
| () | Круглые скобки разбивают регулярное выражение на группы. Для каждого подвыражения, заключенного в круглые скобки, создается группа, автоматически получающая номер. Номера следуют в обратном порядке, поэтому полному регулярному выражению соответствует группа с номером 0 |
| (?imnsx) | Включает или выключает в группе любую из пяти возможных опций. Для выключения опции перед ней ставится знак минус. Например, (?i-s:) включает опцию i, задающую нечувствительность к регистру, и выключает опцию s - статус single-line |
15. Лекция: Регулярные выражения
15.2
|
|
|
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!