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

/
/
si

Test String

Code Generator

Generated Code

#include <StringConstants.au3> ; to declare the Constants of StringRegExp #include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate Local $sRegex = "(?si)name\s+?z155e4d1dde106c_point_test.+?(?<!meta)data\s*".+?from\s+([^\s]+?)"" Local $sString = "MAP" & @CRLF & _ " CONFIG "MS_ERRORFILE" "/srv/mapservices/mapfiles/tmp/155e4d1dde106c.log"" & @CRLF & _ " DEBUG 5" & @CRLF & _ " IMAGETYPE PNG" & @CRLF & _ " SIZE 1600 800" & @CRLF & _ " STATUS ON" & @CRLF & _ "" & @CRLF & _ " WEB" & @CRLF & _ " METADATA" & @CRLF & _ " "wms_title" "Generated_Mapfile"" & @CRLF & _ " "wms_onlineresource" "http://142.207.151.5/cgi-bin/mapserv?map=/srv/portal/www/Mapservices/mapfiles/TSAZones.map&version=1.0.0&service=wms"" & @CRLF & _ " "wms_srs" "EPSG:3005 EPSG:4269 EPSG:3857"" & @CRLF & _ " "wms_enable_request" "*"" & @CRLF & _ " "wms_feature_info_mime_type" "text/html"" & @CRLF & _ " END" & @CRLF & _ " QUERYFORMAT text/html" & @CRLF & _ " END" & @CRLF & _ "" & @CRLF & _ "" & @CRLF & _ " PROJECTION" & @CRLF & _ " "init=epsg:3005"" & @CRLF & _ " END" & @CRLF & _ "" & @CRLF & _ " OUTPUTFORMAT" & @CRLF & _ " NAME png" & @CRLF & _ " DRIVER AGG/PNG" & @CRLF & _ " MIMETYPE "image/png"" & @CRLF & _ " IMAGEMODE RGBA" & @CRLF & _ " EXTENSION "png"" & @CRLF & _ " FORMATOPTION "GAMMA=0.75"" & @CRLF & _ " TRANSPARENT ON" & @CRLF & _ " END" & @CRLF & _ " LAYER" & @CRLF & _ " DEBUG 5" & @CRLF & _ " NAME z155e4d1dde106c_point_test" & @CRLF & _ " DUMP TRUE" & @CRLF & _ " TEMPLATE "querytemplate.html" " & @CRLF & _ "" & @CRLF & _ " PROJECTION" & @CRLF & _ " "init=epsg:3005"" & @CRLF & _ " END" & @CRLF & _ "" & @CRLF & _ " METADATA" & @CRLF & _ " "wms_srs" "EPSG:3005"" & @CRLF & _ " "title" "TSA Zones"" & @CRLF & _ " "wms_title" "TSA Zones"" & @CRLF & _ " "wms_include_items" "all" " & @CRLF & _ " "gml_include_items" "all" " & @CRLF & _ " END" & @CRLF & _ "" & @CRLF & _ " TYPE POINT" & @CRLF & _ " CONNECTIONTYPE POSTGIS" & @CRLF & _ " CONNECTION "host=127.0.0.1 dbname=stewardship user=portal_readwrite password=portal_readwrite"" & @CRLF & _ " DATA "wkb_geometry from z155e4d1dde106c_point_test"" & @CRLF & _ "" & @CRLF & _ " " & @CRLF & _ " CLASS" & @CRLF & _ " STYLE" & @CRLF & _ " COLOR 59 189 57 " & @CRLF & _ " OUTLINECOLOR 147 155 48" & @CRLF & _ " OPACITY 100" & @CRLF & _ " END" & @CRLF & _ " END" & @CRLF & _ "END" & @CRLF & _ "LAYER" & @CRLF & _ " DEBUG 5" & @CRLF & _ " NAME z155e4d1dde106c_poly_test1" & @CRLF & _ " DUMP TRUE" & @CRLF & _ " TEMPLATE "querytemplate.html" " & @CRLF & _ "" & @CRLF & _ " PROJECTION" & @CRLF & _ " "init=epsg:3005"" & @CRLF & _ " END" & @CRLF & _ "" & @CRLF & _ " METADATA" & @CRLF & _ " "wms_srs" "EPSG:3005"" & @CRLF & _ " "title" "TSA Zones"" & @CRLF & _ " "wms_title" "TSA Zones"" & @CRLF & _ " "wms_include_items" "all" " & @CRLF & _ " "gml_include_items" "all" " & @CRLF & _ " END" & @CRLF & _ "" & @CRLF & _ " TYPE POLYGON" & @CRLF & _ " CONNECTIONTYPE POSTGIS" & @CRLF & _ " CONNECTION "host=127.0.0.1 dbname=stewardship user=portal_readwrite password=portal_readwrite"" & @CRLF & _ " DATA "wkb_geometry from z155e4d1dde106c_poly_test1"" & @CRLF & _ "" & @CRLF & _ " " & @CRLF & _ " CLASS" & @CRLF & _ " STYLE" & @CRLF & _ " COLOR 121 71 143 " & @CRLF & _ " OUTLINECOLOR 96 133 94" & @CRLF & _ " OPACITY 100" & @CRLF & _ " END" & @CRLF & _ " END" & @CRLF & _ "END" & @CRLF & _ "END" Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYFULLMATCH) ; Present the entire match result _ArrayDisplay($aArray, "Result")

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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm