Regular Expression in C#

C# Regular Expressions are used in pattern matching, data validation, and formatting. In this tutorial, learn how to create our own Regular Expression in C# and use Regex to validate data.

Introduction

 
This article describes Regular Expressions. In this article you will see the syntax of Regular Expressions with examples and how to create our own Regular Expression in a C# Console Application with examples of Mobile Number regular expressions.
 

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.

Regex Syntax


The following basic syntax are 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 is used to match 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-white space character.

      Example

      non white space character

    10. \n =>Matches a newline character.

  • Character classe
    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 together 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 is used to match the preceding character for 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
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;    
    6.     
    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.    
    15.     
    16.             string[] str = { "+91-9678967101""9678967101""+91-9678-967101""+91-96789-67101""+919678967101"};    
    17.             //Input strings for Match valid mobile number.    
    18.     
    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#.