Regular Expression In C#

C# regular expression is used for pattern matching in C# applications. This article explains the syntax of C# regular expressions with examples and how to create our own C# regular expression in a C# console application with examples of mobile number regular expressions. Also learn how to use Regex in C#.

Regular Expression in C#

C# Regex class is used for creating a C# regular expression. Regular expressions are a pattern matching standard for string parsing and replacement and is a way for a computer user to express how a computer program should look for a specified pattern in text and then what the program is to do when each pattern match is found.
Sometimes it is abbreviated "regex". They are a powerful way to find and replace strings that take a defined format.

C# Regex class syntax

The following basic syntax are 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 is used to match 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-white space 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 together 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 is used to match the preceding character for 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
Now in the following procedure, I will explain how to create our own 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 name of the application "RegularExpression1" and click on OK.

console application

Step 4
After adding the project "RegularExpression1" you will see the following code in the "Program.cs" file and for 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.
  1. using System;    
  2. using System.Collections.Generic;    
  3. using System.Linq;    
  4. using System.Text;    
  5. using System.Text.RegularExpressions;    
  7. namespace RegularExpression1    
  8. {    
  9.     class Program    
  10.     {    
  11.         static void Main(string[] args)    
  12.         {       
  13.             Regex r = new Regex(@"^\+?\d{0,2}\-?\d{4,5}\-?\d{5,6}");    
  14.             //class Regex Repesents an immutable regular expression.    
  16.             string[] str = { "+91-9678967101""9678967101""+91-9678-967101""+91-96789-67101""+919678967101"};    
  17.             //Input strings for Match valid mobile number.    
  19.             foreach(string s in str)    
  20.             {    
  21.                 Console.WriteLine("{0} {1} a valid mobile number.", s,    
  22.                     r.IsMatch(s) ? "is":"is not");    
  23.             //The IsMatch method is used to validate a string or     
  24.            //to ensure that a string conforms to a particular pattern.    
  25.             }    
  26.         }    
  27.     }    
  28. }    
Step 6
After writing the code build program then run it and get the following output,
get output

Explanation of Regular Expression Pattern

It is one way for creation of a Mobile Number validation RegularExpression.

Regular Expression Pattern

Explanation of Regular Expression Pattern
It is all about how to create a RegularExpression in C#.