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

/
/
gm

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 = "(?m)^(a[abefkmnrsvyz]|b[aegimnors]|c[aehorsuvy]|d[aevz]|e[elnostu]|f[afijory]|g[adlnuv]|h[aeiortuyz]|i[adegikostu]|j[av]|k[agijklmnorsuvwy]|l[abginotuv]|m[ghiklnrsty]|n[abdeglnorvy]|o[cjmrs]|p[ailst]|q[u]|r[mnouw]|s[acdegiklmnoqrstuvw]|t[aeghiklnorstwy]|u[gkrz]|v[eio]|w[ao]|x[h]|y[io]|z[ahu])$" Local $sString = "aa" & @CRLF & _ "ab" & @CRLF & _ "ac" & @CRLF & _ "ad" & @CRLF & _ "ae" & @CRLF & _ "af" & @CRLF & _ "ag" & @CRLF & _ "ah" & @CRLF & _ "ai" & @CRLF & _ "aj" & @CRLF & _ "ak" & @CRLF & _ "al" & @CRLF & _ "am" & @CRLF & _ "an" & @CRLF & _ "ao" & @CRLF & _ "ap" & @CRLF & _ "aq" & @CRLF & _ "ar" & @CRLF & _ "as" & @CRLF & _ "at" & @CRLF & _ "au" & @CRLF & _ "av" & @CRLF & _ "aw" & @CRLF & _ "ax" & @CRLF & _ "ay" & @CRLF & _ "az" & @CRLF & _ "ba" & @CRLF & _ "bb" & @CRLF & _ "bc" & @CRLF & _ "bd" & @CRLF & _ "be" & @CRLF & _ "bf" & @CRLF & _ "bg" & @CRLF & _ "bh" & @CRLF & _ "bi" & @CRLF & _ "bj" & @CRLF & _ "bk" & @CRLF & _ "bl" & @CRLF & _ "bm" & @CRLF & _ "bn" & @CRLF & _ "bo" & @CRLF & _ "bp" & @CRLF & _ "bq" & @CRLF & _ "br" & @CRLF & _ "bs" & @CRLF & _ "bt" & @CRLF & _ "bu" & @CRLF & _ "bv" & @CRLF & _ "bw" & @CRLF & _ "bx" & @CRLF & _ "by" & @CRLF & _ "bz" & @CRLF & _ "ca" & @CRLF & _ "cb" & @CRLF & _ "cc" & @CRLF & _ "cd" & @CRLF & _ "ce" & @CRLF & _ "cf" & @CRLF & _ "cg" & @CRLF & _ "ch" & @CRLF & _ "ci" & @CRLF & _ "cj" & @CRLF & _ "ck" & @CRLF & _ "cl" & @CRLF & _ "cm" & @CRLF & _ "cn" & @CRLF & _ "co" & @CRLF & _ "cp" & @CRLF & _ "cq" & @CRLF & _ "cr" & @CRLF & _ "cs" & @CRLF & _ "ct" & @CRLF & _ "cu" & @CRLF & _ "cv" & @CRLF & _ "cw" & @CRLF & _ "cx" & @CRLF & _ "cy" & @CRLF & _ "cz" & @CRLF & _ "da" & @CRLF & _ "db" & @CRLF & _ "dc" & @CRLF & _ "dd" & @CRLF & _ "de" & @CRLF & _ "df" & @CRLF & _ "dg" & @CRLF & _ "dh" & @CRLF & _ "di" & @CRLF & _ "dj" & @CRLF & _ "dk" & @CRLF & _ "dl" & @CRLF & _ "dm" & @CRLF & _ "dn" & @CRLF & _ "do" & @CRLF & _ "dp" & @CRLF & _ "dq" & @CRLF & _ "dr" & @CRLF & _ "ds" & @CRLF & _ "dt" & @CRLF & _ "du" & @CRLF & _ "dv" & @CRLF & _ "dw" & @CRLF & _ "dx" & @CRLF & _ "dy" & @CRLF & _ "dz" & @CRLF & _ "ea" & @CRLF & _ "eb" & @CRLF & _ "ec" & @CRLF & _ "ed" & @CRLF & _ "ee" & @CRLF & _ "ef" & @CRLF & _ "eg" & @CRLF & _ "eh" & @CRLF & _ "ei" & @CRLF & _ "ej" & @CRLF & _ "ek" & @CRLF & _ "el" & @CRLF & _ "em" & @CRLF & _ "en" & @CRLF & _ "eo" & @CRLF & _ "ep" & @CRLF & _ "eq" & @CRLF & _ "er" & @CRLF & _ "es" & @CRLF & _ "et" & @CRLF & _ "eu" & @CRLF & _ "ev" & @CRLF & _ "ew" & @CRLF & _ "ex" & @CRLF & _ "ey" & @CRLF & _ "ez" & @CRLF & _ "fa" & @CRLF & _ "fb" & @CRLF & _ "fc" & @CRLF & _ "fd" & @CRLF & _ "fe" & @CRLF & _ "ff" & @CRLF & _ "fg" & @CRLF & _ "fh" & @CRLF & _ "fi" & @CRLF & _ "fj" & @CRLF & _ "fk" & @CRLF & _ "fl" & @CRLF & _ "fm" & @CRLF & _ "fn" & @CRLF & _ "fo" & @CRLF & _ "fp" & @CRLF & _ "fq" & @CRLF & _ "fr" & @CRLF & _ "fs" & @CRLF & _ "ft" & @CRLF & _ "fu" & @CRLF & _ "fv" & @CRLF & _ "fw" & @CRLF & _ "fx" & @CRLF & _ "fy" & @CRLF & _ "fz" & @CRLF & _ "ga" & @CRLF & _ "gb" & @CRLF & _ "gc" & @CRLF & _ "gd" & @CRLF & _ "ge" & @CRLF & _ "gf" & @CRLF & _ "gg" & @CRLF & _ "gh" & @CRLF & _ "gi" & @CRLF & _ "gj" & @CRLF & _ "gk" & @CRLF & _ "gl" & @CRLF & _ "gm" & @CRLF & _ "gn" & @CRLF & _ "go" & @CRLF & _ "gp" & @CRLF & _ "gq" & @CRLF & _ "gr" & @CRLF & _ "gs" & @CRLF & _ "gt" & @CRLF & _ "gu" & @CRLF & _ "gv" & @CRLF & _ "gw" & @CRLF & _ "gx" & @CRLF & _ "gy" & @CRLF & _ "gz" & @CRLF & _ "ha" & @CRLF & _ "hb" & @CRLF & _ "hc" & @CRLF & _ "hd" & @CRLF & _ "he" & @CRLF & _ "hf" & @CRLF & _ "hg" & @CRLF & _ "hh" & @CRLF & _ "hi" & @CRLF & _ "hj" & @CRLF & _ "hk" & @CRLF & _ "hl" & @CRLF & _ "hm" & @CRLF & _ "hn" & @CRLF & _ "ho" & @CRLF & _ "hp" & @CRLF & _ "hq" & @CRLF & _ "hr" & @CRLF & _ "hs" & @CRLF & _ "ht" & @CRLF & _ "hu" & @CRLF & _ "hv" & @CRLF & _ "hw" & @CRLF & _ "hx" & @CRLF & _ "hy" & @CRLF & _ "hz" & @CRLF & _ "ia" & @CRLF & _ "ib" & @CRLF & _ "ic" & @CRLF & _ "id" & @CRLF & _ "ie" & @CRLF & _ "if" & @CRLF & _ "ig" & @CRLF & _ "ih" & @CRLF & _ "ii" & @CRLF & _ "ij" & @CRLF & _ "ik" & @CRLF & _ "il" & @CRLF & _ "im" & @CRLF & _ "in" & @CRLF & _ "io" & @CRLF & _ "ip" & @CRLF & _ "iq" & @CRLF & _ "ir" & @CRLF & _ "is" & @CRLF & _ "it" & @CRLF & _ "iu" & @CRLF & _ "iv" & @CRLF & _ "iw" & @CRLF & _ "ix" & @CRLF & _ "iy" & @CRLF & _ "iz" & @CRLF & _ "ja" & @CRLF & _ "jb" & @CRLF & _ "jc" & @CRLF & _ "jd" & @CRLF & _ "je" & @CRLF & _ "jf" & @CRLF & _ "jg" & @CRLF & _ "jh" & @CRLF & _ "ji" & @CRLF & _ "jj" & @CRLF & _ "jk" & @CRLF & _ "jl" & @CRLF & _ "jm" & @CRLF & _ "jn" & @CRLF & _ "jo" & @CRLF & _ "jp" & @CRLF & _ "jq" & @CRLF & _ "jr" & @CRLF & _ "js" & @CRLF & _ "jt" & @CRLF & _ "ju" & @CRLF & _ "jv" & @CRLF & _ "jw" & @CRLF & _ "jx" & @CRLF & _ "jy" & @CRLF & _ "jz" & @CRLF & _ "ka" & @CRLF & _ "kb" & @CRLF & _ "kc" & @CRLF & _ "kd" & @CRLF & _ "ke" & @CRLF & _ "kf" & @CRLF & _ "kg" & @CRLF & _ "kh" & @CRLF & _ "ki" & @CRLF & _ "kj" & @CRLF & _ "kk" & @CRLF & _ "kl" & @CRLF & _ "km" & @CRLF & _ "kn" & @CRLF & _ "ko" & @CRLF & _ "kp" & @CRLF & _ "kq" & @CRLF & _ "kr" & @CRLF & _ "ks" & @CRLF & _ "kt" & @CRLF & _ "ku" & @CRLF & _ "kv" & @CRLF & _ "kw" & @CRLF & _ "kx" & @CRLF & _ "ky" & @CRLF & _ "kz" & @CRLF & _ "la" & @CRLF & _ "lb" & @CRLF & _ "lc" & @CRLF & _ "ld" & @CRLF & _ "le" & @CRLF & _ "lf" & @CRLF & _ "lg" & @CRLF & _ "lh" & @CRLF & _ "li" & @CRLF & _ "lj" & @CRLF & _ "lk" & @CRLF & _ "ll" & @CRLF & _ "lm" & @CRLF & _ "ln" & @CRLF & _ "lo" & @CRLF & _ "lp" & @CRLF & _ "lq" & @CRLF & _ "lr" & @CRLF & _ "ls" & @CRLF & _ "lt" & @CRLF & _ "lu" & @CRLF & _ "lv" & @CRLF & _ "lw" & @CRLF & _ "lx" & @CRLF & _ "ly" & @CRLF & _ "lz" & @CRLF & _ "ma" & @CRLF & _ "mb" & @CRLF & _ "mc" & @CRLF & _ "md" & @CRLF & _ "me" & @CRLF & _ "mf" & @CRLF & _ "mg" & @CRLF & _ "mh" & @CRLF & _ "mi" & @CRLF & _ "mj" & @CRLF & _ "mk" & @CRLF & _ "ml" & @CRLF & _ "mm" & @CRLF & _ "mn" & @CRLF & _ "mo" & @CRLF & _ "mp" & @CRLF & _ "mq" & @CRLF & _ "mr" & @CRLF & _ "ms" & @CRLF & _ "mt" & @CRLF & _ "mu" & @CRLF & _ "mv" & @CRLF & _ "mw" & @CRLF & _ "mx" & @CRLF & _ "my" & @CRLF & _ "mz" & @CRLF & _ "na" & @CRLF & _ "nb" & @CRLF & _ "nc" & @CRLF & _ "nd" & @CRLF & _ "ne" & @CRLF & _ "nf" & @CRLF & _ "ng" & @CRLF & _ "nh" & @CRLF & _ "ni" & @CRLF & _ "nj" & @CRLF & _ "nk" & @CRLF & _ "nl" & @CRLF & _ "nm" & @CRLF & _ "nn" & @CRLF & _ "no" & @CRLF & _ "np" & @CRLF & _ "nq" & @CRLF & _ "nr" & @CRLF & _ "ns" & @CRLF & _ "nt" & @CRLF & _ "nu" & @CRLF & _ "nv" & @CRLF & _ "nw" & @CRLF & _ "nx" & @CRLF & _ "ny" & @CRLF & _ "nz" & @CRLF & _ "oa" & @CRLF & _ "ob" & @CRLF & _ "oc" & @CRLF & _ "od" & @CRLF & _ "oe" & @CRLF & _ "of" & @CRLF & _ "og" & @CRLF & _ "oh" & @CRLF & _ "oi" & @CRLF & _ "oj" & @CRLF & _ "ok" & @CRLF & _ "ol" & @CRLF & _ "om" & @CRLF & _ "on" & @CRLF & _ "oo" & @CRLF & _ "op" & @CRLF & _ "oq" & @CRLF & _ "or" & @CRLF & _ "os" & @CRLF & _ "ot" & @CRLF & _ "ou" & @CRLF & _ "ov" & @CRLF & _ "ow" & @CRLF & _ "ox" & @CRLF & _ "oy" & @CRLF & _ "oz" & @CRLF & _ "pa" & @CRLF & _ "pb" & @CRLF & _ "pc" & @CRLF & _ "pd" & @CRLF & _ "pe" & @CRLF & _ "pf" & @CRLF & _ "pg" & @CRLF & _ "ph" & @CRLF & _ "pi" & @CRLF & _ "pj" & @CRLF & _ "pk" & @CRLF & _ "pl" & @CRLF & _ "pm" & @CRLF & _ "pn" & @CRLF & _ "po" & @CRLF & _ "pp" & @CRLF & _ "pq" & @CRLF & _ "pr" & @CRLF & _ "ps" & @CRLF & _ "pt" & @CRLF & _ "pu" & @CRLF & _ "pv" & @CRLF & _ "pw" & @CRLF & _ "px" & @CRLF & _ "py" & @CRLF & _ "pz" & @CRLF & _ "qa" & @CRLF & _ "qb" & @CRLF & _ "qc" & @CRLF & _ "qd" & @CRLF & _ "qe" & @CRLF & _ "qf" & @CRLF & _ "qg" & @CRLF & _ "qh" & @CRLF & _ "qi" & @CRLF & _ "qj" & @CRLF & _ "qk" & @CRLF & _ "ql" & @CRLF & _ "qm" & @CRLF & _ "qn" & @CRLF & _ "qo" & @CRLF & _ "qp" & @CRLF & _ "qq" & @CRLF & _ "qr" & @CRLF & _ "qs" & @CRLF & _ "qt" & @CRLF & _ "qu" & @CRLF & _ "qv" & @CRLF & _ "qw" & @CRLF & _ "qx" & @CRLF & _ "qy" & @CRLF & _ "qz" & @CRLF & _ "ra" & @CRLF & _ "rb" & @CRLF & _ "rc" & @CRLF & _ "rd" & @CRLF & _ "re" & @CRLF & _ "rf" & @CRLF & _ "rg" & @CRLF & _ "rh" & @CRLF & _ "ri" & @CRLF & _ "rj" & @CRLF & _ "rk" & @CRLF & _ "rl" & @CRLF & _ "rm" & @CRLF & _ "rn" & @CRLF & _ "ro" & @CRLF & _ "rp" & @CRLF & _ "rq" & @CRLF & _ "rr" & @CRLF & _ "rs" & @CRLF & _ "rt" & @CRLF & _ "ru" & @CRLF & _ "rv" & @CRLF & _ "rw" & @CRLF & _ "rx" & @CRLF & _ "ry" & @CRLF & _ "rz" & @CRLF & _ "sa" & @CRLF & _ "sb" & @CRLF & _ "sc" & @CRLF & _ "sd" & @CRLF & _ "se" & @CRLF & _ "sf" & @CRLF & _ "sg" & @CRLF & _ "sh" & @CRLF & _ "si" & @CRLF & _ "sj" & @CRLF & _ "sk" & @CRLF & _ "sl" & @CRLF & _ "sm" & @CRLF & _ "sn" & @CRLF & _ "so" & @CRLF & _ "sp" & @CRLF & _ "sq" & @CRLF & _ "sr" & @CRLF & _ "ss" & @CRLF & _ "st" & @CRLF & _ "su" & @CRLF & _ "sv" & @CRLF & _ "sw" & @CRLF & _ "sx" & @CRLF & _ "sy" & @CRLF & _ "sz" & @CRLF & _ "ta" & @CRLF & _ "tb" & @CRLF & _ "tc" & @CRLF & _ "td" & @CRLF & _ "te" & @CRLF & _ "tf" & @CRLF & _ "tg" & @CRLF & _ "th" & @CRLF & _ "ti" & @CRLF & _ "tj" & @CRLF & _ "tk" & @CRLF & _ "tl" & @CRLF & _ "tm" & @CRLF & _ "tn" & @CRLF & _ "to" & @CRLF & _ "tp" & @CRLF & _ "tq" & @CRLF & _ "tr" & @CRLF & _ "ts" & @CRLF & _ "tt" & @CRLF & _ "tu" & @CRLF & _ "tv" & @CRLF & _ "tw" & @CRLF & _ "tx" & @CRLF & _ "ty" & @CRLF & _ "tz" & @CRLF & _ "ua" & @CRLF & _ "ub" & @CRLF & _ "uc" & @CRLF & _ "ud" & @CRLF & _ "ue" & @CRLF & _ "uf" & @CRLF & _ "ug" & @CRLF & _ "uh" & @CRLF & _ "ui" & @CRLF & _ "uj" & @CRLF & _ "uk" & @CRLF & _ "ul" & @CRLF & _ "um" & @CRLF & _ "un" & @CRLF & _ "uo" & @CRLF & _ "up" & @CRLF & _ "uq" & @CRLF & _ "ur" & @CRLF & _ "us" & @CRLF & _ "ut" & @CRLF & _ "uu" & @CRLF & _ "uv" & @CRLF & _ "uw" & @CRLF & _ "ux" & @CRLF & _ "uy" & @CRLF & _ "uz" & @CRLF & _ "va" & @CRLF & _ "vb" & @CRLF & _ "vc" & @CRLF & _ "vd" & @CRLF & _ "ve" & @CRLF & _ "vf" & @CRLF & _ "vg" & @CRLF & _ "vh" & @CRLF & _ "vi" & @CRLF & _ "vj" & @CRLF & _ "vk" & @CRLF & _ "vl" & @CRLF & _ "vm" & @CRLF & _ "vn" & @CRLF & _ "vo" & @CRLF & _ "vp" & @CRLF & _ "vq" & @CRLF & _ "vr" & @CRLF & _ "vs" & @CRLF & _ "vt" & @CRLF & _ "vu" & @CRLF & _ "vv" & @CRLF & _ "vw" & @CRLF & _ "vx" & @CRLF & _ "vy" & @CRLF & _ "vz" & @CRLF & _ "wa" & @CRLF & _ "wb" & @CRLF & _ "wc" & @CRLF & _ "wd" & @CRLF & _ "we" & @CRLF & _ "wf" & @CRLF & _ "wg" & @CRLF & _ "wh" & @CRLF & _ "wi" & @CRLF & _ "wj" & @CRLF & _ "wk" & @CRLF & _ "wl" & @CRLF & _ "wm" & @CRLF & _ "wn" & @CRLF & _ "wo" & @CRLF & _ "wp" & @CRLF & _ "wq" & @CRLF & _ "wr" & @CRLF & _ "ws" & @CRLF & _ "wt" & @CRLF & _ "wu" & @CRLF & _ "wv" & @CRLF & _ "ww" & @CRLF & _ "wx" & @CRLF & _ "wy" & @CRLF & _ "wz" & @CRLF & _ "xa" & @CRLF & _ "xb" & @CRLF & _ "xc" & @CRLF & _ "xd" & @CRLF & _ "xe" & @CRLF & _ "xf" & @CRLF & _ "xg" & @CRLF & _ "xh" & @CRLF & _ "xi" & @CRLF & _ "xj" & @CRLF & _ "xk" & @CRLF & _ "xl" & @CRLF & _ "xm" & @CRLF & _ "xn" & @CRLF & _ "xo" & @CRLF & _ "xp" & @CRLF & _ "xq" & @CRLF & _ "xr" & @CRLF & _ "xs" & @CRLF & _ "xt" & @CRLF & _ "xu" & @CRLF & _ "xv" & @CRLF & _ "xw" & @CRLF & _ "xx" & @CRLF & _ "xy" & @CRLF & _ "xz" & @CRLF & _ "ya" & @CRLF & _ "yb" & @CRLF & _ "yc" & @CRLF & _ "yd" & @CRLF & _ "ye" & @CRLF & _ "yf" & @CRLF & _ "yg" & @CRLF & _ "yh" & @CRLF & _ "yi" & @CRLF & _ "yj" & @CRLF & _ "yk" & @CRLF & _ "yl" & @CRLF & _ "ym" & @CRLF & _ "yn" & @CRLF & _ "yo" & @CRLF & _ "yp" & @CRLF & _ "yq" & @CRLF & _ "yr" & @CRLF & _ "ys" & @CRLF & _ "yt" & @CRLF & _ "yu" & @CRLF & _ "yv" & @CRLF & _ "yw" & @CRLF & _ "yx" & @CRLF & _ "yy" & @CRLF & _ "yz" & @CRLF & _ "za" & @CRLF & _ "zb" & @CRLF & _ "zc" & @CRLF & _ "zd" & @CRLF & _ "ze" & @CRLF & _ "zf" & @CRLF & _ "zg" & @CRLF & _ "zh" & @CRLF & _ "zi" & @CRLF & _ "zj" & @CRLF & _ "zk" & @CRLF & _ "zl" & @CRLF & _ "zm" & @CRLF & _ "zn" & @CRLF & _ "zo" & @CRLF & _ "zp" & @CRLF & _ "zq" & @CRLF & _ "zr" & @CRLF & _ "zs" & @CRLF & _ "zt" & @CRLF & _ "zu" & @CRLF & _ "zv" & @CRLF & _ "zw" & @CRLF & _ "zx" & @CRLF & _ "zy" & @CRLF & _ "zz" Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH) Local $aFullArray[0] For $i = 0 To UBound($aArray) -1 _ArrayConcatenate($aFullArray, $aArray[$i]) Next $aArray = $aFullArray ; 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