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

/
/

Test String

Substitution

Processing...

Code Generator

Generated Code

const regex = /(\()(.*)(type=\'date\')(.*)/; // Alternative syntax using RegExp constructor // const regex = new RegExp('(\\()(.*)(type=\\\'date\\\')(.*)', '') const str = `.form-group label(for='title_event') #{__("entity.event.title_event")} (*) input.form-control.input(name='title_event', type='text', placeholder='#{__("entity.event.title_event")}', autofocus, required) .form-group label(for='typeevent_event') #{__("entity.event.typeevent_event")} input.form-control.input(name='typeevent_event', type='text', placeholder='#{__("entity.event.typeevent_event")}') .row .col-xs-4 .form-group label(for='startdate_event') #{__("entity.event.startdate_event")} (*) .input-group .input-group-addon i.fa.fa-calendar input.form-control.input(name='startdate_event', type='date', placeholder='#{__("entity.event.startdate_event")}', required) .col-xs-4 .form-group label(for='enddate_event') #{__("entity.event.enddate_event")} (*) .input-group .input-group-addon i.fa.fa-calendar input.form-control.input(name='enddate_event', type='date', placeholder='#{__("entity.event.enddate_event")}', value='#{moment("entity.event.enddate_event")}', required) // .form-group // label(for='starttime_event') #{__("entity.event.starttime_event")} // input.form-control.input(name='starttime_event', type='text', placeholder='#{__("entity.event.starttime_event")}') .row .col-xs-4 .form-group label(for='starttime_event') #{__("entity.event.starttime_event")} span .bootstrap-timepicker .form-group .input-group input.form-control.timepicker(name='starttime_event', type='text') .input-group-addon i.fa.fa-clock-o .row .col-xs-4 .form-group label(for='endtime_event') #{__("entity.event.endtime_event")} // input.form-control.input(name='endtime_event', type='text', placeholder='#{__("entity.event.endtime_event")}') span .bootstrap-timepicker .form-group .input-group input.form-control.timepicker(name='endtime_event', type='text') .input-group-addon i.fa.fa-clock-o .form-group input.form-control.input(name='allday_event', type='checkbox', placeholder='#{__("entity.event.allday_event")}') &nbsp; label(for='allday_event') #{__("entity.event.allday_event")} .form-group label(for='location_event') #{__("entity.event.location_event")} input.form-control.input(name='location_event', type='text', placeholder='#{__("entity.event.location_event")}') .form-group label(for='participationmode_event') #{__("entity.event.participationmode_event")} input.form-control.input(name='participationmode_event', type='text', placeholder='#{__("entity.event.participationmode_event")}') .form-group label(for='description_event') #{__("entity.event.description_event")} input.form-control.input(name='description_event', type='text', placeholder='#{__("entity.event.description_event")}') .form-group label(for='color_event') #{__("entity.event.color_event")} // input.form-control.input(name='color_event', type='text', placeholder='#{__("entity.event.color_event")}') input.form-control.my-colorpicker1(name='color_event', type='text', placeholder='#{__("entity.event.color_event")}') .form-group label(for='owner_event') #{__("entity.event.owner_event")} input.form-control.input(name='owner_event', type='text', placeholder='#{__("entity.event.owner_event")}') // *** Dynamic Data Field Create Form Group event | Do not remove *** //- .form-group //- label(for='name_plateau') #{__("entity.plateau.name_plateau")} (*) //- input.form-control.input(name='name_plateau', type='text', placeholder='#{__("entity.plateau.name_plateau")}',required) `; const subst = `.datepicker$1$2type='text'$4`; // The substituted value will be contained in the result variable const result = str.replace(regex, subst); console.log('Substitution result: ', 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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions