- C# Fundamentals Tutorial
- C# - Intro
- C# - Installation
- C# - Basic Syntax
- C# - Variables
- C# - Data Types
- C# - Operators
- C# - Type Conversion
- C# - Arrays
- C# - Strings
- C# - Methods
- C# - Classes
- C# - If..Else
- C# - Loops
- C# - Enums
- C# - Inheritance
- C# - Encapsulation
- C# - Polymorphism
- C# - Operator Overloading
- C# - Interfaces
- C# - Regular Expressions
- C# - Exception Handling
C# - Regular Expressions
Regular expressions (regex or regexp) in C# are a powerful tool for pattern matching and string manipulation. They provide a concise and flexible way to search, match, and manipulate strings based on specified patterns. In C#, regular expressions are part of the System.Text.RegularExpressions namespace.
Here's a basic overview of using regular expressions in C#:
Creating a Regex Object:
To use regular expressions in C#, you typically create a Regex object with the pattern you want to match.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string pattern = "/\d+"; // Match one or more digits
Regex regex = new Regex(pattern);
// Use the regex object for matching
string input = "1234";
bool isMatch = regex.IsMatch(input);
Console.WriteLine($"Is it a match? {isMatch}");
}
}
Common Regex Methods:
- IsMatch: Checks if the input string contains a match for the pattern.
- Match: Returns the first occurrence of the pattern within the input string.
- Matches: Returns all occurrences of the pattern within the input string.
- Replace: Replaces occurrences of the pattern with a specified replacement string.
- Split: Splits the input string into an array of substrings based on the pattern.
Regex Patterns:
Regular expressions consist of various characters and symbols that define patterns.
For example:
- \d: Matches any digit.
- \w: Matches any word character (alphanumeric + underscore).
- .: Matches any character except a newline.
- *, +, ?: Quantifiers for matching zero or more, one or more, or zero or one occurrences, respectively.
- ^, $: Anchors for matching the start or end of a line.
Groups and Capturing:
You can use parentheses to create capturing groups, which allow you to extract specific parts of the matched text.
string pattern = "(d{2})(d{2})(d{4})"; // Matches dates in the format DD/MM/YYYY
Regex regex = new Regex(pattern);
string input = "25/12/2022";
Match match = regex.Match(input);
if (match.Success)
{
Console.WriteLine($"Day: {match.Groups[1].Value}, Month: {match.Groups[2].Value}, Year: {match.Groups[3].Value}");
}
Options and Modifiers:
Regular expressions support various options and modifiers, such as case-insensitive matching (RegexOptions.IgnoreCase) or multiline mode (RegexOptions.Multiline).
string pattern = "example";
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
string input = "Example";
bool isMatch = regex.IsMatch(input);
Console.WriteLine($"Is it a match? {isMatch}");
Regular expressions can become quite complex, and their full syntax is beyond the scope of a brief overview. However, they are a powerful tool for advanced string manipulation and pattern matching in C#.