What is a Regular Expression in C#?

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, 


The most important quantifiers are *?+.

  1. * - Matches the preceding character zero or more times.


    multiply quantifiers

  2. + - Matches the preceding character 1 or more times.


    plus quantifiers

  3. ? - Matches the preceding char zero or one time.


    question mark quantifiers

Special characters

Many special characters are available for regex building. Here are some of the more usual ones.

  1. ^ - It is used to match the beginning of a string.


    beginning of a string

  2. $ - It is used to match the end of a string.


    end of a string

  3. (Dot) - Matches any character only once.


    character only once

  4. \d - It is used to match a digit character.


    non digit character

  5. \D - It is used to match any non-digit character.


    word character

  6. \w - It matches an alphanumeric character plus "_".


    white space character

  7. \W - It is used to match any non-word character.


    non word character

  8. \s - Matches white space characters.


    space character

  9. \S - Matches a non-whitespace character.


    non white space character

  10. \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.

  1. [ ] - It is used to match a range of characters.


    range of characters

Grouping and alternatives

It's often necessary to group things with parentheses ( and ).

  1. () - It is used to group expressions.


    different expression

    In the preceding image, the | operator is the Or operator that takes any of the alternatives.

  2. {} - It matches the preceding character a specified number of times.

    i) {n} - Matches the previous element exactly n times.


    Grouping and alternatives

    ii) {n,m} - Matches the previous element at least n times, but no more than m times.


    element at least n times

    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").

create new project

Step 3

Then select Console Application, provide the application's name, "RegularExpression1," and click OK.

console application

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;

regular expression

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,

get output

Explanation of Regular Expression Pattern

It is one way to create a Mobile Number validation RegularExpression.

Regular Expression Pattern

Explanation of Regular Expression Pattern


It is all about how to create the RegularExpression in C#. Learn more here C# Regex Examples (2023).

Similar Articles