С# — Регулярные выражения
Регулярное выражение — это шаблон, который можно сопоставить с входным текстом. Платформа .Net предоставляет механизм регулярных выражений, который допускает такое сопоставление. Шаблон состоит из одного или нескольких символьных литералов, операторов или конструкций.
Конструкции для определения регулярных выражений
Существуют различные категории символов, операторов и конструкций, которые позволяют определять регулярные выражения. Щелкните следующие ссылки, чтобы найти эти конструкции.
-
Экранирование символов
-
Классы персонажей
-
Якоря
-
Группировка конструкций
-
Квантификаторы
-
Конструкции обратной ссылки
-
Альтернативные конструкции
-
Замены
-
Разные конструкции
Класс регулярных выражений
Класс Regex используется для представления регулярного выражения. Он имеет следующие часто используемые методы —
Серийный номер | Методы и описание |
---|---|
1 | <тд>|
2 | <тд>|
3 | <тд>|
4 | <тд>|
5 | <тд>|
6 | <тд>
Полный список методов и свойств см. в документации Microsoft по C#.
Пример 1
В следующем примере сопоставляются слова, начинающиеся с «S» —
Живая демонстрацияusing System; using System.Text.RegularExpressions; namespace RegExApplication { class Program { private static void showMatch(string text, string expr) { Console.WriteLine("The Expression: " + expr); MatchCollection mc = Regex.Matches(text, expr); foreach (Match m in mc) { Console.WriteLine(m); } } static void Main(string[] args) { string str = "A Thousand Splendid Suns"; Console.WriteLine("Matching words that start with 'S': "); showMatch(str, @"\bS\S*"); Console.ReadKey(); } } }
Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
Matching words that start with 'S': The Expression: \bS\S* Splendid Suns
Пример 2
В следующем примере сопоставляются слова, начинающиеся с «m» и заканчивающиеся на «e» —
Живая демонстрацияusing System; using System.Text.RegularExpressions; namespace RegExApplication { class Program { private static void showMatch(string text, string expr) { Console.WriteLine("The Expression: " + expr); MatchCollection mc = Regex.Matches(text, expr); foreach (Match m in mc) { Console.WriteLine(m); } } static void Main(string[] args) { string str = "make maze and manage to measure it"; Console.WriteLine("Matching words start with 'm' and ends with 'e':"); showMatch(str, @"\bm\S*e\b"); Console.ReadKey(); } } }
Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
Matching words start with 'm' and ends with 'e': The Expression: \bm\S*e\b make maze manage measure
Пример 3
В этом примере лишние пробелы заменяются —
Живая демонстрацияusing System; using System.Text.RegularExpressions; namespace RegExApplication { class Program { static void Main(string[] args) { string input = "Hello World "; string pattern = "\\s+"; string replacement = " "; Regex rgx = new Regex(pattern); string result = rgx.Replace(input, replacement); Console.WriteLine("Original String: {0}", input); Console.WriteLine("Replacement String: {0}", result); Console.ReadKey(); } } }
Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
Original String: Hello World Replacement String: Hello World
Язык C
- Выражения, операторы и блоки C# (с примерами)
- C# Строка
- Java-выражения, операторы и блоки
- Java-строки
- Строки перечисления Java
- Лямбда-выражения Java
- Строки C++:strcpy(), strcat(), strlen(), strcmp() ПРИМЕРЫ
- Строки в C:как объявить переменную, инициализировать, распечатать, пример
- Количество строк Python() с ПРИМЕРАМИ
- Java — класс строк