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"
"
g

Test String

Code Generator

Generated Code

package main import ( "regexp" "fmt" ) func main() { var re = regexp.MustCompile(`([8:;]-?[)DP}>]|[[({<]-?[8:;])`) var str = `:-)-- :-% :-)-{8 :>) :-X *:o) :->| o-) =:-) >:) :-{ :-))))))) [:|] @>--;-- :%)% :-=) :-s (ap) :-o OOOOOO (8>/--< (.V.) (.!.) :-O :-| :%) (:I :-0 O:) O:-) O-) 0=) 0:-) (a) ^j^ 0*-) 0;-) o:-) X( X-( O b ( >:-) >:-( (:-& :@ :( :-t :-|| :-@ :-Z |_|' -_-; ^^; ?? @_@ (-_-* ) ( o_o) <:-I =D> :*)? :*) ? l-) |-I |-) ~X( (-: (au) :o) :=8) ~O>< ~:O ~:0 X:-) ~#:-( ?:-) ~~8-O C:-| (:-) (( (::( )::) (::[]::) o > :-E D:-) q:-) d:-) d:-p :) :-{0 ^v^ B-) ;;) (brb) (''')-.-(''') (") (") :>)= :)# :-){ (:-{~ b-( %+| : = 0___ X:-| %-| (b) &:-o-8-< (*)/ (*) :D :-D >:D< :------------) (:+) :)) :-(=) <(:?) =|:O} ~O~ ( |-O (^) *<:) :-> :-] (:<) (:-D ?-( !-( (bah) (:- #-) ^^ %') :-{} \`-\` :") :,') :-"> (@_@) @= :-( l-o \-o :-! :-O ZZ ZZ ZZ :-}X (||) ===O____iii Q(''q) Q(''Q) (z) ( '}{' ) >:*) :-# %-( =(( </3 (U) (:^( :^) }:-( :-c U U #:-) :-#| (_|_) }i{ }|{ })i({ (p) :() P=\\ ~ =^.^= >'o'< >^..^< >^,,^< }:-X (@) >;3 Q:-) (:@@@@@@@@@@@@@@@D C|:-= ;) \o/ *\O/* C=:-) (-: =3 8^ ~:> C8o \ C8o ) C8o ( ;-( <|-)= -{:-] *<<<<= *<<<<+ <{^-^}> =====~ (ci) :-.) (:) :-) (o) <|:-()} <|:^0|< <]:o){ *<):O) *<:O) :O) :*) (c) ?_? P-) $:-) (co) :-r :-8( O.o %) %-) :s :-S :-Q :-$ :-/ 3:08 3:-O +/'\ <):) <):-) }:-) {:-) V.v.V H-) T_T T^T QQ =O :::::: ='( &.(.. (;_;) :'( :' :'-( :*( :*-( :(( :..[ :_ ( :\`-( ;_; :'-) |_| C(_) ~o) |_P &:-) @:-) :-@! O-( 0-) *-( <(..<) \\:D/ (>..)> ^(. .)^ C8<] Q:| 8-> *-* 8-# :-| :-| :-9 :-[ }=^{|~ ]:-> ()}:o) -6 >:-> }:-> :> ;-> /\ =\ :| :(& :-e DX /:( %-} d[-_-]b [:-} d^_^b <[.,=.,]- :O$ :O\' :O/ :O? :3-< :3-] 8==3 &===3 (&) (>.<) #-o :-) 8 :$) :-)) }:-(= (:-|K- \_/ *DRINK* :-). . . =P~ *DROOLING* :P :-P :-)~ :-P\`\`\` :-B :~) :#) :-} %- ./ 8) <:-) <:I <:-( (e) <:-0 :~ 2:) @=) 5:-) &:-/ :$ T-T //_^ (//.^) (//_^) 0|-) (.\|/.) >-) :-6 8-) }=D -@--@- # - (p ^^)=====O o,..,o ^,..,^ >- / | | | (~) (yn) ><((("> <>< <*))))>< <((((>< <")))>< <.{{{>< }-(((*> {}{ ;-) @>--- () G:-) =:-H %%- 7:-) /:-) 8)~~* <? ?> :(?) [II]D (:-( :-< ):-( X[ =P >< :// \~/ *:* : 0=/-- 8=:-) :O 4:-) ~~:-( (g) *GIGGLING* >:o===Q< 8:^) (x) -o-o- 8*) 8:-) (nah) :-{> :-)> |-| o/ 8:] %:O :8] (~};) :^D" $_$ (____) $8() (^:^) E:-) E-:-) (%) :-3 :-}) &:-] U |___| =) ^.^ ^?^ ^-^ :-) 3:8) :@) <~8) >O< /* * :-' :-)} -:-) :=) <<<<(: <<<<(:-) :-\`| (({..})) <u3 <3 (:-... |:-) (h5) ^5 :-I :-\ :-, |-D L. (8-(1) (_8^(|) ( o ) ( o ) [_] (h) { } ((((name)))) (:)\/< :)X <(^.^<) <(*.*<) ((())) :D< {{{***}}} (()):** %*@:-( %-\ :0 XD @-) O[-<]: :[ ((:-/ ?$?:-) >;-(' :-) . :-) , #;-) :+( (-.-)ZZZ ~oO> (:-$ *red+u *help *IN LOVE* (*_*) ._. :7/ 8 %7< (ip) ?:^[] :###) //o-o\\ (8 { X-p *JOKINGLY* 8-* @:-} :-T \VVV/ \$$$/ <('.'<) <(^.^)> <( '.' <) <( '.' )> (>'.')> = * :-* :-)* ;-(!) (_X_) *KISSED* :* :}{: *KISSING* (}{) (:-* ( '}~{' ) :pd: =+= =^w^= :3 @(*o*)@ :*)O <{::}> (::)< C:-) l8r) :)) ;-D %OD =D %-(I) :.-) ?-: ({) )-: >;-> :^o (i) (li) ;-, (:)-) :X [:-) :-----) <@> <@> >_> <_< (*)?(*) <.< >.> <o?o> <*_*> :-? L-) %+{ :-) :-) :-) (>^.^)> <3 <(^.^<) :x (m)(m)(m) ~:( =/ >=[ >=( >:-< >,< &-L :-(*) :- @@@@@:-) @@@@:-) (#-[ :-)(-: (d) 3:[ \m/ �O� 8(:-) o/< o|-< :< :p :~/ (mp) ^o^ (mo) $-) @(-_-)@ --- @(^_^)@ :E (00) (|) (_i_) oO~ ~<>^> <:3)~~ <:3)~ <:3 )~ :-{) :-{)} 8-o ~O-O~ (m) l_l) ={D { 8{] :{ :-{)= {:-{)} :-: :-x :-SS ~,~ *:-) (-) 8-| *8-I E-:-I {} |:-0 :/i :/) [-( -8 8-O #:-O #:-o ?:-_] |:-{)~ :)] .-] .-) ,-) ':-( ':-� �-) '-) =X =^) :d ^_^ (^o^) <..... (<. . . . . (:V) :v <:o) <:-P <l:0 *<(8)~/~< *<|8-P~ (:V (/|\) :)>- 8> <:^] 3:] >:P :?) %\v %-^ ----|} o()~ =8) :8) :(:) (o^-^o) ^_^'' (_) :---) :-------[ P-( <| <%) (pi) (pl) }:^#) [::::] **** +O=-) ;-\ O/ [-o< &&&& \<><>/ ~<:-) \&&&/ ;~[ (+[ ]-:-) =:-( Q('.'Q) :-($) \%%%/ =:>) (___)0 /:) :-R =:7)~~ =:7(~~ --- : :-C ~:-( ()_RED_(> (l) (k) (f) }---:o> +-(:-) >=D (}) <(-_-)> [:] \m/>.<\m/ \m/(**)\m/ \m/ >_< \m/ >-D \w/^^,\w/ 9_9 >> =)) 7:) 7:^] @~'~~~ @~)~~~~ @>-;-- @}>-'-,-- @};- @};--- @}->-- @)->- @->-- @-}---- @>;----- 3:*> Y_Y T.T D= D: =[ =( (<_>) :c *<|:-{)} *<|:-) *<|:^) } *<:-) :-7 ^o) *!#*!^*&:-) !:-) 8< )8-) \';./ (-_-) ::=)) 8==8 :-i [-x <((("> ,:-) o_o 35277 =o *SHOCKED* +-( :-V (*^_^*) (-::-) =+o() :-& :-Y 8-} (c: ~:-P o{-<]: O-\-<]: 0-<-<): o<[^( ;-/ ':-/ 8-X (>.<) zzZ (s) u_u #) #(,'%/) C: =o) [______] :|) (^_^) +:-) =:-#} (:-# ):-) g-) :^J ^&^ :-1 :^, ;^) :-d @x (sn) ~~~~8} (so) X P =.= (X^(* }:8> :-M :-W :-\` :-( <| (*) *~* / \ :-p :pp $:-$ *STOP* (st) -.- @?@ &;-P B:-) B :-) (8-{)} /8^{~ (#) /' \m/<(^_^)>\m/ *SURPRISED* {:o :o :# \`:-) oxx:{}:::::::> /________|___| ---(|||]==[] =; :-{ } :^y :-8 :-v &-| (t) -(:)(0)=8 >[I (:>-< :-)--- *-) (n) *THUMBS UP* (y) ^ =_= *TIRED* (:| 0000(0)(0)0000 8-;) :-J :-A *!#*!^*&:- =-HHHH >:-| :-))) @:I <:>== (tu) =-o (o|o) (um) X:-/ =):-) :\ **== |:-| >.< >:* }:( :<| ::-) :u) :n) }(:-( @,.,@ (';.;') %*} :-[] (:-\ (o^_^)o :-w :-h :-)X d:) {(:-) B-| (|:-) ]-I (8-) :-)8 -_- *WHINING* :-" ;^? (w) ())=( (\`_^) ;p ;O) ;-P ~_^ <):^/ *|:-) 8<:-) 8 :-) -=#:-) -=#:-) / :-)8 : ,-} (xx) _/) |-() |^O >:O :-(0) =:-0 @@(: l) :-l <(-.-)> :-( ) :--------) (@ @) :-0> |-P ->=:-)` for i, match := range re.FindAllString(str, -1) { fmt.Println(match, "found at index", i) } }

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 Golang, please visit: https://golang.org/pkg/regexp/