Презентация Строки. Регулярные выражения онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Строки. Регулярные выражения абсолютно бесплатно. Урок-презентация на эту тему содержит всего 53 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Строки. Регулярные выражения



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    53 слайда
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    1.66 MB
  • Просмотров:
    70
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
СТРОКИ. РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
Содержание слайда: СТРОКИ. РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ

№2 слайд
ОСНОВНЫЕ ВОПРОСЫ Строки и
Содержание слайда: ОСНОВНЫЕ ВОПРОСЫ Строки и класс System.String; Операции со строками; Форматирование и интерполяция строк; Класс StringBuilder; Регулярные выражения.

№3 слайд
СТРОКИ И КЛАСС System.String
Содержание слайда: СТРОКИ И КЛАСС System.String Довольно большое количество задач, которые могут встретиться при разработке приложений, так или иначе связано с обработкой строк - парсинг веб-страниц, поиск в тексте, какие-то аналитические задачи, связанные с извлечением нужной информации из текста и т.д. Поэтому в этом плане работе со строками уделяется особое внимание. В языке C# строковые значения представляет тип string, а вся функциональность работы с данным типом сосредоточена в классе System.String. Собственно string является псевдонимом для класса System.String. Объекты этого класса представляют текст как последовательность символов Unicode. Максимальный размер объекта String может составлять в памяти 2 ГБ, или около 1 миллиарда символов.

№4 слайд
СТРОКИ И КЛАСС System.String
Содержание слайда: СТРОКИ И КЛАСС System.String Создание строк Создавать сроки можно, как используя переменную типа string и присваивая ей значение, так и применяя один из конструкторов класса String: Конструктор String имеет различное число версий. Так, вызов конструктора new String('a', 6) создаст строку "aaaaaa". И так как строка представляет ссылочный тип, то может хранить значение null.

№5 слайд
СТРОКИ И КЛАСС System.String
Содержание слайда: СТРОКИ И КЛАСС System.String Строка как набор символов Так как строка хранит коллекцию символов, в ней определен индексатор для доступа к этим символам: Применяя индексатор, мы можем обратиться к строке как к массиву символов и получить по индексу любой из ее символов: Используя свойство Length, как и в обычном массиве, можно получить длину строки.

№6 слайд
ОПЕРАЦИИ СО СТРОКАМИ
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Конкатенация Конкатенация строк или объединение может производиться как с помощью операции +, так и с помощью метода Concat: Метод Concat является статическим методом класса String, принимающим в качестве параметров две строки. Также имеются другие версии метода, принимающие другое количество параметров.

№7 слайд
ОПЕРАЦИИ СО СТРОКАМИ Для
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Для объединения строк также может использоваться метод Join: Метод Join также является статическим. Использованная выше версия метода получает два параметра: строку-разделитель (в данном случае пробел) и массив строк, которые будут соединяться и разделяться разделителем.

№8 слайд
ОПЕРАЦИИ СО СТРОКАМИ
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Сравнение строк Для сравнения строк применяется статический метод Compare: Данная версия метода Compare принимает две строки и возвращает число. Если первая строка по алфавиту стоит выше второй, то возвращается число меньше нуля. В противном случае возвращается число больше нуля. И третий случай - если строки равны, то возвращается число 0. В данном случае так как символ h по алфавиту стоит выше символа w, то и первая строка будет стоять выше.

№9 слайд
ОПЕРАЦИИ СО СТРОКАМИ Поиск в
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Поиск в строке С помощью метода IndexOf мы можем определить индекс первого вхождения отдельного символа или подстроки в строке: Подобным образом действует метод LastIndexOf, только находит индекс последнего вхождения символа или подстроки в строку.

№10 слайд
ОПЕРАЦИИ СО СТРОКАМИ Еще одна
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Еще одна группа методов позволяет узнать начинается или заканчивается ли строка на определенную подстроку. Для этого предназначены методы StartsWith и EndsWith. Например, у нас есть задача удалить из папки все файлы с расширением exe:

№11 слайд
ОПЕРАЦИИ СО СТРОКАМИ
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Разделение строк С помощью функции Split мы можем разделить строку на массив подстрок. В качестве параметра функция Split принимает массив символов или строк, которые и будут служить разделителями. Например, подсчитаем количество слов в сроке, разделив ее по пробельным символам: Это не лучший способ разделения по пробелам, так как во входной строке у нас могло бы быть несколько подряд идущих пробелов и в итоговый массив также бы попадали пробелы, поэтому лучше использовать другую версию метода: Второй параметр StringSplitOptions.RemoveEmptyEntries говорит, что надо удалить все пустые подстроки.

№12 слайд
ОПЕРАЦИИ СО СТРОКАМИ Обрезка
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Обрезка строки Для обрезки начальных или концевых символов используется функция Trim: Функция Trim без параметров обрезает начальные и конечные пробелы и возвращает обрезанную строку. Чтобы явным образом указать, какие начальные и конечные символы следует обрезать, мы можем передать в функцию массив этих символов. Эта функция имеет частичные аналоги: функция TrimStart обрезает начальные символы, а функция TrimEnd обрезает конечные символы.

№13 слайд
ОПЕРАЦИИ СО СТРОКАМИ Обрезать
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Обрезать определенную часть строки позволяет функция Substring: Функция Substring также возвращает обрезанную строку. В качестве параметра первая использованная версия применяет индекс, начиная с которого надо обрезать строку. Вторая версия применяет два параметра - индекс начала обрезки и длину вырезаемой части строки.

№14 слайд
ОПЕРАЦИИ СО СТРОКАМИ Вставка
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Вставка Для вставки одной строки в другую применяется функция Insert: Первым параметром в функции Insert является индекс, по которому надо вставлять подстроку, а второй параметр - собственно подстрока.

№15 слайд
ОПЕРАЦИИ СО СТРОКАМИ Удаление
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Удаление строк Удалить часть строки помогает метод Remove: Первая версия метода Remove принимает индекс в строке, начиная с которого надо удалить все символы. Вторая версия принимает еще один параметр - сколько символов надо удалить.

№16 слайд
ОПЕРАЦИИ СО СТРОКАМИ Замена
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Замена Чтобы заменить один символ или подстроку на другую, применяется метод Replace: Во втором случае применения функции Replace строка из одного символа "о" заменяется на пустую строку, то есть фактически удаляется из текста. Подобным способом легко удалять какой-то определенный текст в строках.

№17 слайд
ОПЕРАЦИИ СО СТРОКАМИ Смена
Содержание слайда: ОПЕРАЦИИ СО СТРОКАМИ Смена регистра Для приведения строки к верхнему и нижнему регистру используются соответственно функции ToUpper() и ToLower():

№18 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК Форматирование строк При выводе строк в консоли с помощью метода Console.WriteLine мы можем применять форматирование вместо конкатенации: В строке "Имя: {0} Возраст: {1}" на место {0} и {1} будут вставляться в порядке следования person.Name и person.Age

№19 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК То же самое мы можем сделать с помощью метода String.Format: Метод Format принимает строку с плейсхолдерами типа {0}, {1} и т.д., а также набор аргументов, которые вставляются на место данных плейсхолдеров. В итоге генерируется новая строка. В методе Format могут использоваться различные спецификаторы и описатели, которые позволяют настроить вывод данных. Рассмотрим основные описатели.

№20 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК Все используемые форматы: C / c - Задает формат денежной единицы, указывает количество десятичных разрядов после запятой D / d - Целочисленный формат, указывает минимальное количество цифр E / e - Экспоненциальное представление числа, указывает количество десятичных разрядов после запятой F / f - Формат дробных чисел с фиксированной точкой, указывает количество десятичных разрядов после запятой G / g - Задает более короткий из двух форматов: F или E N / n - Также задает формат дробных чисел с фиксированной точкой, определяет количество разрядов после запятой P / p - Задает отображения знака процентов рядом с число, указывает количество десятичных разрядов после запятой X / x - Шестнадцатеричный формат числа

№21 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК Форматирование валюты Для форматирования валюты используется описатель "C": Число после описателя указывает, сколько чисел будет использоваться после разделителя между целой и дробной частью. При выводе также добавляется обозначение денежного знака для текущей культуры компьютера.

№22 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК Форматирование целых чисел Для форматирования целочисленных значение применяется описатель "d": Число после описателя указывает, сколько цифр будет в числовом значении. Если в исходном числе цифр меньше, то к нему добавляются нули.

№23 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК Форматирование дробных чисел Для форматирования дробны чисел используется описатель F, число после которого указывает, сколько знаков будет использоваться после разделителя между целой и дробной частью. Если исходное число - целое, то к нему добавляются разделитель и нули.

№24 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК Формат процентов Описатель "P" задает отображение процентов. Используемый с ним числовой спецификатор указывает, сколько знаков будет после запятой: Настраиваемые форматы Используя знак #, можно настроить формат вывода. Например, нам надо вывести некоторое число в формате телефона +х (ххх)ххх-хх-хх:

№25 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК Метод ToString Метод ToString() не только получает строковое описание объекта, но и может осуществлять форматирование. Он поддерживает те же описатели, что используются в методе Format:

№26 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК Интерполяция строк Начиная с версии языка C# 6.0 (Visual Studio 2015) была добавлена такая функциональность, как интерполяция строк. Эта функциональность призвана заменить форматирование строк. Так, перепишем пример с выводом значений свойств объекта Person: Знак доллара перед строкой указывает, что будет осуществляться интерполяция строк. Внутри строки опять же используются плейсхолдеры {...}, только внутри фигурных скобок уже можно напрямую писать те выражения, которые мы хотим вывести.

№27 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК Интерполяция по сути представляет более лаконичное форматирование. При этом внутри фигурных скобок мы можем указывать не только свойства, но и различные выражения языка C#:

№28 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК В следующем примере проверяем, не равен ли person значению null. Если не равен, то выводим его имя, иначе выводим какое-нибудь имя по умолчанию: Уже внутри строки можно применять форматирование. В этом случае мы можем применять все те же описатели, что и в методе Format. Например, выведем номер телефона в формате +x xxx-xxx-xx-xx:

№29 слайд
ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ
Содержание слайда: ФОРМАТИРОВАНИЕ И ИНТЕРПОЛЯЦИЯ СТРОК Добавляем пространство до и после форматируемого вывода: Вывод:

№30 слайд
КЛАСС StringBuilder Хотя
Содержание слайда: КЛАСС StringBuilder Хотя класс System.String предоставляет нам широкую функциональность по работе со строками, все таки он имеет свои недостатки. Прежде всего, объект String представляет собой неизменяемую строку. Когда мы выполняем какой-нибудь метод класса String, система создает новый объект в памяти с выделением ему достаточного места. Удаление первого символа - не самая затратная операция. Однако когда подобных операций множество, а объем текста, для которого надо выполнить данные операции, также не самый маленький, то издержки при потере производительности становятся более существенными. Чтобы выйти из этой ситуации во фреймворк .NET был добавлен новый класс StringBuilder, который находится в пространстве имен System.Text. Этот класс представляет динамическую строку.

№31 слайд
КЛАСС StringBuilder При
Содержание слайда: КЛАСС StringBuilder При создании строки StringBuilder выделяет памяти больше, чем необходимо этой строке: Теперь переменная sb представляет начальную строку "Привет мир". Эта строка имеет длину в 10 символов. Для хранения длины в классе StringBuilder есть свойство Length. Однако есть и вторая величина - емкость выделенной памяти. Это значение хранится в свойстве Capacity. Емкость - это выделенная память под объект. Хотя в данном случае длина равна 10 символов, но реально емкость будет составлять по умолчанию 16 символов.

№32 слайд
КЛАСС StringBuilder Класс
Содержание слайда: КЛАСС StringBuilder Класс StringBuilder имеет еще ряд конструкторов, которые позволяют разными способами выполнить начальную инициализацию объекта. Так, мы можем задать пустой объект, но установить начальную емкость: Если у нас заранее известен максимальный размер объекта, то мы можем таким образом сразу задать емкость и избежать последующих издержек при дополнительном выделении памяти.

№33 слайд
КЛАСС StringBuilder Теперь
Содержание слайда: КЛАСС StringBuilder Теперь посмотрим на примере использование и преимущества класса StringBuilder: При создании объекта StringBuilder выделяется память по умолчанию для 16 символов, так как длина начальной строки меньше 16.

№34 слайд
КЛАСС StringBuilder Дальше
Содержание слайда: КЛАСС StringBuilder Дальше применяется метод Append - этот метод добавляет к строке подстроку. Так как при объединении строк их общая длина - 22 символа - превышает начальную емкость в 16 символов, то начальная емкость удваивается - до 32 символов. Если бы итоговая длина строки была бы больше 32 символов, то емкость расширялась бы до размера длины строки. Далее опять применяется метод Append, однако финальная длина уже будет 28 символов, что меньше 32 символов, и дополнительная память не будет выделяться.

№35 слайд
КЛАСС StringBuilder Кроме
Содержание слайда: КЛАСС StringBuilder Кроме метода Append класс StringBuilder предлагает еще ряд методов для операций над строками: Insert: вставляет подстроку в объект StringBuilder, начиная с определенного индекса Remove: удаляет определенное количество символов, начиная с определенного индекса Replace: заменяет все вхождения определенного символа или подстроки на другой символ или подстроку AppendFormat: добавляет подстроку в конец объекта StringBuilder

№36 слайд
КЛАСС StringBuilder
Содержание слайда: КЛАСС StringBuilder Используем методы StringBuilder:

№37 слайд
КЛАСС StringBuilder Когда
Содержание слайда: КЛАСС StringBuilder Когда надо использовать класс String, а когда StringBuilder? Microsoft рекомендует использовать класс String в следующих случаях: При небольшом количестве операций и изменений над строками При выполнении фиксированного количества операций объединения. В этом случае компилятор может объединить все операции объединения в одну Когда надо выполнять масштабные операции поиска при построении строки, например IndexOf или StartsWith. Класс StringBuilder не имеет подобных методов. Класс StringBuilder рекомендуется использовать в следующих случаях: При неизвестном количестве операций и изменений над строками во время выполнения программы Когда предполагается, что приложению придется сделать множество подобных операций

№38 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Классы
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Классы StringBuilder и String предоставляют достаточную функциональность для работы со строками. Однако .NET предлагает еще один мощный инструмент - регулярные выражения. Регулярные выражения представляют эффективный и гибкий метод по обработке больших текстов, позволяя в то же время существенно уменьшить объемы кода по сравнению с использованием стандартных операций со строками. Основная функциональность регулярных выражений в .NET сосредоточена в пространстве имен System.Text.RegularExpressions. А центральным классом при работе с регулярными выражениями является класс Regex.

№39 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Например, у нас есть некоторый текст и нам надо найти в нем все словоформы какого-нибудь слова. С классом Regex это сделать очень просто:

№40 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Здесь мы
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Здесь мы находим в искомой строке все словоформы слова "туп". В конструктор объекта Regex передается регулярное выражение для поиска. Далее мы разберем некоторые элементы синтаксиса регулярных выражений, а пока достаточно знать, что выражение туп(\w*) обозначает, найти все слова, которые имеют корень "туп" и после которого может стоять различное количество символов. Выражение \w означает алфавитно-цифровой символ, а звездочка после выражения указывает на неопределенное их количество - их может быть один, два, три или вообще не быть. Метод Matches класса Regex принимает строку, к которой надо применить регулярные выражения, и возвращает коллекцию найденных совпадений. Каждый элемент такой коллекции представляет объект Match. Его свойство Value возвращает найденное совпадение.

№41 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Параметр
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Параметр RegexOptions Класс Regex имеет ряд конструкторов, позволяющих выполнить начальную инициализацию объекта. Две версии конструкторов в качестве одного из параметров принимают перечисление RegexOptions. Некоторые из значений, принимаемых данным перечислением: Compiled: при установке этого значения регулярное выражение компилируется в сборку, что обеспечивает более быстрое выполнение CultureInvariant: при установке этого значения будут игнорироваться региональные различия IgnoreCase: при установке этого значения будет игнорироваться регистр IgnorePatternWhitespace: удаляет из строки пробелы и разрешает комментарии, начинающиеся со знака # Multiline: указывает, что текст надо рассматривать в многострочном режиме. При таком режиме символы "^" и "$" совпадают, соответственно, с началом и концом любой строки, а не с началом и концом всего текста RightToLeft: приписывает читать строку справа налево Singleline: устанавливает однострочный режим, а весь текст рассматривается как одна строка

№42 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Например
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Например: При необходимости можно установить несколько параметров:

№43 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Синтаксис регулярных выражений Рассмотрим вкратце некоторые элементы синтаксиса регулярных выражений: ^: соответствие должно начинаться в начале строки (например, выражение @"^пр\w*" соответствует слову "привет" в строке "привет мир") $: конец строки (например, выражение @"\w*ир$" соответствует слову "мир" в строке "привет мир", так как часть "ир" находится в самом конце) .: знак точки определяет любой одиночный символ (например, выражение "м.р" соответствует слову "мир" или "мор") *: предыдущий символ повторяется 0 и более раз +: предыдущий символ повторяется 1 и более раз ?: предыдущий символ повторяется 0 или 1 раз \s: соответствует любому пробельному символу \S: соответствует любому символу, не являющемуся пробелом \w: соответствует любому алфавитно-цифровому символу \W: соответствует любому не алфавитно-цифровому символу \d: соответствует любой десятичной цифре \D : соответствует любому символу, не являющемуся десятичной цифрой

№44 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ w
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ \w: соответствует любому алфавитно-цифровому символу \W: соответствует любому не алфавитно-цифровому символу \d: соответствует любой десятичной цифре \D : соответствует любому символу, не являющемуся десятичной цифрой

№45 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ w
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ \w: соответствует любому алфавитно-цифровому символу \W: соответствует любому не алфавитно-цифровому символу \d: соответствует любой десятичной цифре \D : соответствует любому символу, не являющемуся десятичной цифрой Это только небольшая часть элементов. Более подробное описание синтаксиса регулярных выражений можно найти на msdn в статье Элементы языка регулярных выражений — краткий справочник: https://docs.microsoft.com/ru-ru/dotnet/standard/base-types/regular-expression-language-quick-reference

№46 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Теперь
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Теперь посмотрим на некоторые примеры использования. Возьмем первый пример с скороговоркой "Бык тупогуб, тупогубенький бычок, у быка губа бела была тупа" и найдем в ней все слова, где встречается корень "губ": Так как выражение \w* соответствует любой последовательности алфавитно-цифровых символов любой длины, то данное выражение найдет все слова, содержащие корень "губ".

№47 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Второй
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Второй простенький пример - нахождение телефонного номера в формате 111-111-1111: Если мы точно знаем, сколько определенных символов должно быть, то мы можем явным образом указать их количество в фигурных скобках: \d{3} - то есть в данном случае три цифры.

№48 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Мы можем
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Мы можем не только задать поиск по определенным типам символов - пробелы, цифры, но и задать конкретные символы, которые должны входить в регулярное выражение. Например, перепишем пример с номером телефона и явно укажем, какие символы там должны быть: В квадратных скобках задается диапазон символов, которые должны в данном месте встречаться. В итоге данный и предыдущий шаблоны телефонного номера будут эквивалентны.

№49 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Также
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Также можно задать диапазон для алфавитных символов: Regex regex = new Regex("[a-v]{5}"); - данное выражение будет соответствовать любому сочетанию пяти символов, в котором все символы находятся в диапазоне от a до v. Можно также указать отдельные значения: Regex regex = new Regex(@"[2]*-[0-9]{3}-\d{4}");. Это выражение будет соответствовать, например, такому номеру телефона "222-222-2222" (так как первые числа двойки) С помощью операции | можно задать альтернативные символы: Regex regex = new Regex(@"[2|3]{3}-[0-9]{3}-\d{4}");. То есть первые три цифры могут содержать только двойки или тройки. Такой шаблон будет соответствовать, например, строкам "222-222-2222" и "323-435-2318". А вот строка "235-435-2318" уже не подпадает под шаблон, так как одной из трех первых цифр является цифра 5.

№50 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Итак, у
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Итак, у нас такие символы, как *, + и ряд других используются в качестве специальных символов. И возникает вопрос, а что делать, если у нам надо найти, строки, где содержится точка, звездочка или какой-то другой специальный символ? В этом случае нам надо просто экранировать эти символы слешем:

№51 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Проверка
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Проверка на соответствие строки формату Нередко возникает задача проверить корректность данных, введенных пользователем. Это может быть проверка электронного адреса, номера телефона, Класс Regex предоставляет статический метод IsMatch, который позволяет проверить входную строку с шаблоном на соответствие:

№52 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Переменная pattern задает регулярное выражение для проверки адреса электронной почты. Данное выражение предлагает нам Microsoft на страницах msdn. Для проверки соответствия строки шаблону используется метод IsMatch: Regex.IsMatch(email, pattern, RegexOptions.IgnoreCase). Последний параметр указывает, что регистр можно игнорировать. И если введенная строка соответствует шаблону, то метод возвращает true.

№53 слайд
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Замена и
Содержание слайда: РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ Замена и метод Replace Класс Regex имеет метод Replace, который позволяет заменить строку, соответствующую регулярному выражению, другой строкой: Данная версия метода Replace принимает два параметра: строку с текстом, где надо выполнить замену, и сама строка замены. Так как в качестве шаблона выбрано выражение "\s+ (то есть наличие одного и более пробелов), метод Replace проходит по всему тексту и заменяет несколько подряд идущих пробелов ординарными.

Скачать все slide презентации Строки. Регулярные выражения одним архивом: