Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression
No Match

r"
"
gm

Test String

Code Generator

Generated Code

using System; using System.Text.RegularExpressions; public class Example { public static void Main() { string pattern = @"^(?P<unit_type>SL|SV)(?P<unit_size>10|15|20|25|30)(?P<mounting_type>P|G)(?P<decompression_feature>A|B)(?P<cracking_pressure>1|2|3|4)(?P<sep_1>-)(?P<unit_series>4X)(?P<sep_2>/|=)(?P<pilot_valve>6U|)(?P<type_of_limit_switch>QM|)(?P<power_supply_of_limit_switch>G24|)(?P<sep_3>/|)(?P<seal_material>M|V|)(?P<sep_4>/|)(?P<surface_coating>J3|)(?P<pipe_port>/12|)(?P<additional_details>(.|[0-9])*)$"; string input = @"SV20PB1-4X/V SV10GA3-4X/V SL20GB1-4X/M/12 SV30PB2-4X/V SV20GA2-4X/V SL30PB2-4X/V SV20GB3-4X/M/12 SL20PB4-4X/V SL10GA1-4X/V/12 SV20GB4-4X/V SV20GA1-4X=M SV20GB1-4X/M/12 SL20GA3-4X/V SV20GA3-4X/M/12 SL30PB4-4X/V SL20PA1-4X/MSO286 SV10GA2-4X/M/12 SL20GA1-4X/V/12 SL10PB1-4X/MSO286 SV30GB2-4X/V SV30GA1-4X/V/12 SL30GA1-4X/V/12= SV30PB4-4X/V SL25GB3-4X/ SV10GA3-4X/M SV10GB3-4X/M SV10PA2-4X/V SL10PA4-4X/V SV10PB2-4X/M SL10PB1-4X/V SL10PA4-4X/M SV10PB1-4X/V SV10GB1-4X/M/12 SL10PB3-4X/M SV10GB1-4X/V SL10PA2-4X/M SL10PA3-4X/M SL10PB1-4X/M SL10GA4-4X/M SL10GB3-4X/M SL10GA1-4X/M/12 SL10GA1-4X/V SL10GA2-4X/M SV10PA2-4X/M SL10GB1-4X/M SL10PB4-4X/M SV10GB1-4X/M SL10GA3-4X/M SV10GA2-4X/M SV10GB4-4X/M SL10PB2-4X/M SL10PA1-4X/V SV10PA3-4X/M SV10GA1-4X/V/12 SV10PA1-4X/V SV10PB3-4X/M SV10GB2-4X/M SV10GA1-4X/V SV10PA3-4X/V SV10PB1-4X/M SL10GB2-4X/V SL10GB2-4X/M SV10GA2-4X/V/12 SV10GA1-4X/M/12 SV10GA2-4X/V SV10GA1-4X/M SV10PA1-4X/M SL10GA1-4X/M SL10PA1-4X/M SL30GA3-4X/M SV30GA3-4X/M SL20GB2-4X/M SV20PA1-4X/V SL30PA1-4X/V SL20PB2-4X/M SV20GA2-4X/M SV20GA1-4X/V SV10PB4-4X/V SL20GB1-4X/M SV25GB3-4X/ SL20PB3-4X/M SL25GB2-4X/ SL30GB1-4X/M SL30GA2-4X/M SL20PA4-4X/M SV20GB4-4X/M SL20PA2-4X/V SV30PA1-4X/V SV25GA2-4X/ SV30GA2-4X/M SL20PA3-4X/V SV20PB3-4X/M SL20PA1-4X/V SL30PA4-4X/M SV20PB1-4X/M SV20PB2-4X/M SL30PA4-4X/V SV30PA2-4X/V SV20PA3-4X/V SL30GB2-4X/M SV30PB1-4X/M SL30GA1-4X/M/12 SL10GA2-4X/V SV20GB3-4X/M SL25GB1-4X/V SL30GB2-4X/V/12 SL25GA3-4X/ SL30PB2-4X/M SV30GB2-4X/M SL20GA1-4X/V SL20PB2-4X/V SL10PA3-4X/V SV30PA4-4X/M SV10PB4-4X/M SL30PB3-4X/M SL25GA1-4X/V SL20GB3-4X/M SV25GA2-4X/V SV20PA1-4X/MSO67 SL10GB1-4X/M/12 SL30PA1-4X/MSO67 SL20GA4-4X/M SV25GB1-4X/V SV20PB4-4X/M SV25GA1-4X/V SL20GA2-4X/V SL30PB1-4X/V SV20GA1-4X/M/12 SL25GA4-4X/ SL20GA1-4X/M/12 SV10GA2-4X/MSO43 SV10GB2-4X/V SL20PB1-4X/V SL20GB1-4X/V SV10GB4-4X/V SV10GA4-4X/V SL30GA4-4X/M SV20GA4-4X/M SV20GA4-4X/V SV10GA4-4X/MSO287 SV30PB4-4X/M SL30PB4-4X/M SL20PB4-4X/M SV10GA3-4X/M/12 SL30PA2-4X/V SV25GA4-4X/ SL10PB2-4X/V SL20PA4-4X/V SV30GB4-4X/M SV30PB3-4X/M SV25GB1-4X/ SV30GA1-4X/M/12 SV20PB2-4X/V SL10PA1-4X/MSO286 SV20GA2-4X/M/12 SV20GA1-4X/V/12 SL30PA3-4X/V SV30GA2-4X/V SL10GA2-4X/M/12 SL10GB3-4X/V SV25GB2-4X/ SL20GA1-4X/MSO180 SL30GB3-4X/M SV25GA3-4X/ SL20GB4-4X/M SV30PA4-4X/V SL10PB4-4X/V SV30GA1-4X/V SL30GA2-4X/V SV20GB1-4X/V SV30GA2-4X/M/12 SL20PA2-4X/MSO67 SV20PA4-4X/M SL20PB3-4X/V SL10GB4-4X/M SL30GB4-4X/M SL20GB2-4X/V SL30GB2-4X/V SL25GB2-4X/V SL25GA2-4X/V SL10GB4-4X/V/12 SL20GB3-4X/V SV30GB1-4X/M/12 SL20GB1-4X/MSO180 SV10PA1-4X/MT SL30PB3-4X/V SV20PA2-4X/V SV10GB3-4X/M/12 SV30GB3-4X/M SV30PB3-4X/V SV30GA4-4X/M SL10GB1-4X/V SV10PB2-4X/V SV10PA4-4X/M SL10GB1-4X/V/12 SL10PA2-4X/V SV20GA1-4X/M SV25GA1-4X/ SV30GA1-4X/M SL20GA1-4X/M SL25GA1-4X/ SL30GA1-4X/M SV20PA1-4X/M SV30PA1-4X/M SL20PA1-4X/M SL30PA1-4X/M SL10GA3-4X/V SV10GA4-4X/M SV20PA3-4X/M SV20GB1-4X/M SL30GA3-4X/V SV30PA2-4X/M SL30PA2-4X/M SV20GB2-4X/M SV20PA2-4X/M SL20PA2-4X/M SL30PA3-4X/M SL20PB1-4X/M SL20PA3-4X/M SV20GA3-4X/M SV30PB2-4X/M SV30GB1-4X/M SL20GA3-4X/M SL30GA1-4X/V SV30PA3-4X/M SL25GB1-4X/ SL20GA2-4X/M SL25GA2-4X/ SL30PB1-4X/M SL20GA2-4X/M/12 SL30GA4-4X/M/12 SL10GA4-4X/V SL30GA2-4X/M/12 SL30PA1-4X/MSO286 SL30GA2-4X/V/12 SV20PA4-4X/V SL30GB1-4X/V SL30PA1-4X/MT SV20GB1-4X/V/12 SL20GA4-4X/V SL20GA1-4X/6U/M SL20GA1-4X/6U/V SV10PB3-4X/V SV10PA4-4X/V SL10PB3-4X/V SV30PB1-4X/V SV30PA3-4X/V SL20PA2-4X/MT SV10PA2-4X/M/J3 SV20PA2-4X/M/J3 SL30GA4-4X/V SV25GB3-4X/V SL30GA3-4X/6U/M SL20GA3-4X/M/12 SL10PA1-4X/MT SV10PA1-4X=M SL30GA1-4X/6U/V SL30PB3-4X/6UQMG24M-A08B10P12X99Y00 SV30GB1-4X/V SL20PA1-4X/6U/M-A08B99T00P00X99Y00 SL20PA2-4X/6U/M-A08B99X99Y00 SL20PB3-4X/QMG24M SL20PB3-4X/QMG24V SL20PB3-4X/6UQMG24M-A08B99P00X99Y00 SL30PB3-4X/6UQMG24M-A08B99P00X99Y00 SL20GA3-4X/6U/M SL30PB3-4X/6UQMG24M-A08B00P12X99Y00 SL20GA2-4X/6U/M SL20GB2-4X/6U/M SL20PB3-4X/6UQMG24M-A08B12P00X99Y00 SL30PA1-4X/6U/M-A08B99X99Y00 SL30PB3-4X/6UQMG24M-A08B30P00X99Y00 SL30PB3-4X/6UQMG24M-A08B12P00X99Y00 SV20GB2-4X/V SL30GA1-4X/6U/M SL30PA1-4X/6U/M-X00Y00-168 SV10GB1-4X=M SL30PA2-4X/6U/M-X00Y00-168 SL30PA1-4X=V SL30PB3-4X/6UQMG24M-A00B08P12X99Y00 SL30PA3-4X/6U/M-A08B99X99Y00 SL20PB1-4X/6U/M-A08B99X99Y00 SL30PB1-4X/6U/M-A08B99X99Y00 SL10GA2-4X=M SL20PB3-4X/6UQMG24M-A00B00P00X00Y00 SL20PA2-4X/6U/M-A08B10X99Y00 SL30GA2-4X/6U/M SL20PB3-4X/6UQMG24M-A08B00P12X99Y00 SL20PB3-4X/6UQMG24M-A00B08P12X99Y00 SL20PB1-4X/MSO286 SL20GB3-4X/QMG24M SL30PB3-4X/QMG24M SL10PB3-4X/QMG24M SL10GB3-4X/QMG24M SL30GB3-4X/QMG24M SV10PB3-4X/QMG24M SL25GB3-4X/QMG24 SV20PB3-4X/QMG24M SV10GB3-4X/QMG24M SL10PB3-4X/QMG24V SV30PB3-4X/QMG24M SL30GB3-4X/QMG24V SL30PB3-4X/QMG24V SL20GB3-4X/QMG24V SL10PA3-4X/VJ3 SL10PA4-4X/VJ3 SV10GA1-4X/M/J3 SL30PA1-4X/6U/M-A08B10X99Y00/J3 SL10PA1-4X/M/J3 SL10PB3-4X/VJ3 SV20PA1-4X/M/J3 SL20PB1-4X/M/J3 SL20PA1-4X/M/J3 SL20PA4-4X/M/J3 SL20PA2-4X/M/J3 SL30PA3-4X/6U/M-X00Y00-168 SL20GB3-4X/6UQMG24V SL20GB3-4X/6UQMG24M SL30GB3-4X/6UQMG24V SL30PA1-4X/M/J3 SL30PA2-4X/M/J3 SV10PA1-4X/M/J3 SV10PA3-4X/M/J3 SV20PB4-4X/V SV25GB4-4X/ SV30GB3-4X/QMG24M SV20PA1-4X/VSO286 SL30GB4-4X/V SV30GB3-4X/QMG24/V SV10GA1-4X=M SV20GB2-4X/V/12 SV20PA3-4X/M/J3 SL10PA1-4X/VJ3 SL30PB3-4X/6UQMG24M-A08B08P12X99Y00 SL10GA1-4X/M/J3 SL30GB3-4X/6U/V SL20GB3-4X/6U/V SL25GB3-4X/QMG24V SL10GB3-4X/QMG24V SV20GB3-4X/QMG24M SV30PB2-4X/MSO286 SL20PB2-4X/M/J3 SL30GB3-4X/M/J3 SV10GB3-4X/QMG24V SV20GA1-4X/M/J3 SL30GB2-4X/M/J3 SL20PA1-4X=M SL20PB4-4X/6U/M-A08B99X99Y00 SV10PB3-4X/QMG24V SL30PB3-4X/6UQMG24M-A08B20P20X99Y00 SL20PB3-4X/6UQMG24M-A08B20P20X99Y00 SL20PB3-4X/6UQMG24M-A08B08P00X99Y00 SL20PB2-4X=M SV20PA1-4X=M SL20PA1-4X/VJ3 SL20GA2-4X/V/12 SL10GA2-4X/V/12 SV10GB1-4X/V/12 SL30GB3-4X/M/12 SL30GB1-4X/M/12 SV20GB1-4X/V/12 SL15GB2-4X/12 SL15GB1-4X/12 SL15GA1-4X/V/12 SV20GB2-4X/M/12 SV30GB2-4X/M/12 SL15GB4-4X/V/12 SV30GB2-4X/V/12 SL30GB3-4X/V/12 SL20GB3-4X/12 SL20GA2-4X/12 "; RegexOptions options = RegexOptions.Multiline; foreach (Match m in Regex.Matches(input, pattern, options)) { Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index); } } }

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx