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, 

Quantifiers

The most important quantifiers are *?+.

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

    Example

    multiply quantifiers

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

    Example

    plus quantifiers

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

    Example

    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.

    Example

    beginning of a string

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

    Example

    end of a string

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

    Example

    character only once

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

    Example

    non digit character

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

    Example

    word character

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

    Example

    white space character

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

    Example

    non word character

  8. \s - Matches white space characters.

    Example

    space character

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

    Example

    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.

    Example

    range of characters

Grouping and alternatives

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

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

    Example

    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.

    Example

    Grouping and alternatives

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

    Example

    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

Conclusion

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


Similar Articles