Regular Expressions 101

Save & Share

  • Regex Version: ver. 8
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

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

/
/
gi

Test String

Substitution

Processing...

Code Generator

Generated Code

$re = '/(\!\[.*?|(?<!^)\G)((?>(?!\]\(http).)*?){{([^}]+?)}}\[{2}[^]]+?\]{2}(?=.*?\]\(http[^)]*?\))/i'; $str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc rhoncus arcu sed libero pulvinar venenatis. Curabitur fermentum aliquam metus. Mauris tempor cursus blandit. Integer at diam semper, imperdiet leo at, egestas elit. Proin pellentesque, turpis et laoreet blandit, ligula nisl dictum massa, ut finibus nunc magna sed ex. Pellentesque nec suscipit lectus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In dictum lacus eget nibh laoreet condimentum. {{Vitae}}[[1234]] laoreet augue. Sed nulla nunc, suscipit nec lectus {{vitae}}[[1234]], vestibulum iaculis nisl. Nulla leo ligula, euismod ac vehicula sed, hendrerit ac risus. Quisque non mauris a magna interdum bibendum tempor et magna. Cras tempus convallis tellus, non elementum diam lobortis eu. ![**Placeholder 1.** Ut a eleifend est. Suspendisse pharetra id lacus nec sodales. In blandit erat justo, quis eleifend sapien rutrum vel. Fusce et diam ligula. Donec lectus elit, convallis eu lectus faucibus, volutpat vulputate nulla. Morbi {{vitae}}[[1234]] lacinia sapien. Nunc id nisi et lorem pharetra eleifend sed a nunc. Suspendisse vulputate felis dui, eget egestas leo malesuada a. {{Vitae}}[[1234]] accumsan lorem. Curabitur nec dolor finibus, iaculis odio porttitor, condimentum ante. Duis et tellus augue. Proin hendrerit magna at aliquam venenatis. Nulla ut magna aliquet, sollicitudin risus vel, rhoncus orci. Etiam erat est, suscipit non mattis interdum, rutrum eu ipsum. Ut sodales lobortis diam. Quisque vestibulum neque at lectus sollicitudin consectetur](http://placehold.it/350x150) ![**Placeholder 2.** Ut a eleifend est. Suspendisse pharetra id lacus nec sodales. In blandit erat justo, quis eleifend sapien rutrum vel. Fusce et diam ligula. Donec lectus elit, convallis eu lectus faucibus, volutpat vulputate nulla. Morbi {{vitae}}[[1234]] lacinia sapien. Nunc id nisi et lorem pharetra eleifend sed a nunc. Suspendisse vulputate felis dui, eget egestas leo malesuada a. {{Vitae}}[[1234]] accumsan lorem. Curabitur nec dolor finibus, iaculis odio porttitor, condimentum ante. Duis et tellus augue. Proin hendrerit magna at aliquam venenatis. Nulla ut magna aliquet, sollicitudin risus vel, rhoncus orci. Etiam erat est, suscipit non mattis interdum, rutrum eu ipsum. Ut sodales lobortis diam. Quisque vestibulum neque at lectus sollicitudin consectetur](http://placehold.it/350x150) Vestibulum ante dui, dapibus sed est tincidunt, bibendum mattis ex. Vivamus blandit mauris arcu, ornare pretium eros pretium sed. Donec molestie augue auctor, sollicitudin massa vel, tristique nisl. Donec nulla leo, vehicula sit amet sagittis non, dictum eget mi. Morbi suscipit id justo vel rutrum. Nullam lacus eros, consequat {{vitae}}[[1234]] orci a, ultrices aliquam enim. Nam finibus varius mattis. Nunc consequat ex eu nisi dapibus sagittis. Donec dictum est eu sapien viverra sollicitudin. Duis ut tempor metus. Nullam aliquam dui sit amet nibh dignissim bibendum. Duis et metus imperdiet, suscipit dolor in, vestibulum metus. Nullam egestas nulla a mi lobortis venenatis. Sed facilisis erat elit, nec ullamcorper ligula condimentum {{vitae}}[[1234]]. Nunc mollis nisi quis tortor consectetur sagittis.'; $subst = "$1$2{{NEW_REPLACED_TEXT}}[[NEW_DIGITS]]"; $result = preg_replace($re, $subst, $str); echo "The result of the substitution is ".$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 PHP, please visit: http://php.net/manual/en/ref.pcre.php