A regular expression, often abbreviated as regex, is a sequence of characters that forms a search pattern. It is a powerful tool used for pattern matching and manipulating strings of text. Regular expressions are widely used in various programming languages, text editors, and command-line tools. With regular expressions, you can define patterns that describe specific sets of strings. These patterns can be used to search, validate, or transform text data.
A regular expression in C# is represented by the C# Regex class. This article teaches using the Regex class to work with regular expressions in C#. If you are looking for some C# Regex code examples, here is are the top C# Regex Examples (2023).
C# Regex class syntax
The following basic syntax is used for regular expressions,
Quantifiers
The most important quantifiers are *?+.
-
* - Matches the preceding character zero or more times.
Example
-
+ - Matches the preceding character 1 or more times.
Example
-
? - Matches the preceding char zero or one time.
Example
Special characters
Many special characters are available for regex building. Here are some of the more usual ones.
-
^ - It is used to match the beginning of a string.
Example
-
$ - It is used to match the end of a string.
Example
-
(Dot) - Matches any character only once.
Example
-
\d - It is used to match a digit character.
Example
-
\D - It is used to match any non-digit character.
Example
-
\w - It matches an alphanumeric character plus "_".
Example
-
\W - It is used to match any non-word character.
Example
-
\s - Matches white space characters.
Example
-
\S - Matches a non-whitespace character.
Example
-
\n - Matches a newline character.
Character classes
You can group characters by putting them between square brackets. This way, any character in the class will match one character in the input.
-
[ ] - It is used to match a range of characters.
Example
Grouping and alternatives
It's often necessary to group things with parentheses ( and ).
-
() - It is used to group expressions.
Example
In the preceding image, the | operator is the Or operator that takes any of the alternatives.
-
{} - It matches the preceding character a specified number of times.
i) {n} - Matches the previous element exactly n times.
Example
ii) {n,m} - Matches the previous element at least n times, but no more than m times.
Example
Example- Regex for Mobile Number Validation
The following procedure will explain how to create our regular expression for Mobile Number validation in a C# console application.
Step-by-step creation of a Regular Expression
Step 1
Open Visual Studio 2013.
Step 2
Then click on "File" > "New" > "Project..." ( or press "Ctrl +Shift + N").
Step 3
Then select Console Application, provide the application's name, "RegularExpression1," and click OK.
Step 4
After adding the project "RegularExpression1", you will see the following code in the "Program.cs" file, and for the creation of the regex, add the namespace.
using System.Text.RegularExpressions;
Step 5
Now write the following code in the program.cs file to create the regex.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace RegularExpression1
{
class Program
{
static void Main(string[] args)
{
Regex r = new Regex(@"^\+?\d{0,2}\-?\d{4,5}\-?\d{5,6}");
//class Regex Repesents an immutable regular expression.
string[] str = { "+91-9678967101", "9678967101", "+91-9678-967101", "+91-96789-67101", "+919678967101"};
//Input strings for Match valid mobile number.
foreach(string s in str)
{
Console.WriteLine("{0} {1} a valid mobile number.", s,
r.IsMatch(s) ? "is":"is not");
//The IsMatch method is used to validate a string or
//to ensure that a string conforms to a particular pattern.
}
}
}
}
Step 6
After writing the code, build the program, then run it and get the following output,
Explanation of Regular Expression Pattern
It is one way to create a Mobile Number validation RegularExpression.
Conclusion
It is all about how to create the RegularExpression in C#. Learn more here C# Regex Examples (2023).