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

/
/
g

Test String

Code Generator

Generated Code

use strict; my $str = 'Electrical Parameters Re 3.70 Ohm electrical voice coil resistance at DC Le 0.069 mH frequency independent part of voice coil inductance L2 0.086 mH para-inductance of voice coil R2 1.07 Ohm electrical resistance due to eddy current losses Cmes 110.16 µF electrical capacitance representing moving mass Lces 12.83 mH electrical inductance representing driver compliance Res 42.92 Ohm resistance due to mechanical losses fs 133.9 Hz driver resonance frequency Mechanical Parameters (using laser) Mms 1.212 g mechanical mass of driver diaphragm assembly including air load and voice coil Mmd (Sd) 1.145 g mechanical mass of voice coil and diaphragm without air load Rms 0.256 kg/s mechanical resistance of total-driver losses Cms 1.166 mm/N mechanical compliance of driver suspension Kms 0.86 N/mm mechanical stiffness of driver suspension Bl 3.317 N/A force factor (Bl product) Lambda s 0.114 suspension creep factor Loss factors Qtp 0.316 total Q-factor considering all losses Qms 3.976 mechanical Q-factor of driver in free air considering Rms only Qes 0.343 electrical Q-factor of driver in free air considering Re only Qts 0.315 total Q-factor considering Re and Rms only Other Parameters Vas 0.3816 l equivalent air volume of suspension n0 0.257 % reference efficiency (2 pi-radiation using Re) Lm 86.30 dB characteristic sound pressure level (SPL at 1m for 1W @ Re) Lnom 86.64 dB nominal sensitivity (SPL at 1m for 1W @ Zn) rmse Z 4.98 % root-mean-square fitting error of driver impedance Z(f) rmse Hx 2.97 % root-mean-square fitting error of transfer function Hx (f) Series resistor 0.00 Ohm resistance of series resistor Sd 15.21 cm² diaphragm area '; my $regex = qr/(.*)\t(\d*\.\d*[^[:space:]+\t])/p; if ( $str =~ /$regex/g ) { print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n"; # print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n"; # print "Capture Group 2 is $2 ... and so on\n"; } # ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p' # Named capture groups can be called via $+{name}

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 Perl, please visit: http://perldoc.perl.org/perlre.html