Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
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
Processing...

Test String

Code Generator

Generated Code

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "\\{generic_page_slideshow((?::\\S+?)?)(\\s.*?)?\\}(.*?)\\{\\/generic_page_slideshow\\1\\}"; final String string = "\n" + " {!-- ra:0000000019ecdbb0000000005dbc5212 --}\n\n" + " {layout:set name=\"title\"}{title}{/layout:set}\n" + " {layout:set name=\"entry_id\"}{entry_id}{/layout:set}\n" + " {layout:set name=\"body_class\"}{generic_page_theme}{/layout:set}\n\n\n\n\n" + " {!-- ra:0000000019ecdbf4000000005dbc5212 --}{if {generic_page_slideshow:total_rows} > 0}\n" + " <div class=\"row\">\n" + " <div class=\"carousel overlay-nav\">\n" + " <div data-navigation=\"nav-carousel1\" data-crsl=\"[{&quot;visible&quot;: 1, &quot;itemMinWidth&quot;: 300, &quot;itemMargin&quot;: 0}]\" class=\"crsl-items\">\n" + " <div class=\"crsl-wrap\">\n" + " {generic_page_slideshow}\n" + " <figure class=\"crsl-item\">\n" + " <img src=\"{generic_page_slideshow:image}\">\n" + " <figcaption class=\"crsl-caption\">\n" + " <p class=\"close\">{generic_page_slideshow:caption}</p>\n" + " </figcaption>\n" + " </figure>\n" + " {/generic_page_slideshow}\n" + " </div>\n" + " </div>\n" + " <div id=\"nav-carousel1\" class=\"crsl-nav\">\n" + " <div class=\"crsl-nav-helper\"><a href=\"#\" class=\"previous\"><i class=\"icon-carat-l eft\"></i><span> Previous</span></a><a href=\"#\" class=\"next\"><span>Next </span><i class=\"icon-carat\"></i></a></div>\n" + " </div>\n" + " </div>\n" + " </div>\n\n" + " <hr class=\"block-spacer\">\n" + " {/if}\n\n" + " <!-- Page Overview with optional Sidebar -->\n" + " {generic_page_overview_1}\n" + " <header id=\"page-header\" class=\"row research-header-heightmatch columned\">\n" + " <div class=\"columns {!-- ra:0000000019ecdb18000000005dbc5212 --}{if {generic_page_overview_1_links:total_rows} > 0}large-8{if:else}large-12{/if} default-padding\">\n" + " <h2>{generic_page_overview_1:text}</h2>\n" + " {!-- ra:0000000019ecdb26000000005dbc5212 --}{if generic_page_overview_1:link_text != ''}\n" + " <h3 class=\"white-icons\"><a href=\"{generic_page_overview_1:link_url}\" class=\"button\">{generic_page_overview_1:link_text} <i class=\"icon-carat\"></i></a></h3>\n" + " {/if}\n" + " </div>\n\n" + " {!-- ra:0000000019ecdb32000000005dbc5212 --}{if {generic_page_overview_1_links:total_rows} > 0}\n" + " <div class=\"columns large-4 triangle-tiles research-header-heightmatch\">\n" + " <h 3 class=\"bold\">{generic_page_overview_1:side_bar_text}</h3>\n" + " <ul class=\"close white-links white-icons text-lightweight loose-list-less\">\n" + " {/if}\n" + " {/generic_page_overview_1}\n\n\n" + " {!-- ra:0000000019ecdb5e000000005dbc5212 --}{if {generic_page_overview_1:total_rows} > 0}\n" + " {!-- ra:0000000019ecdb52000000005dbc5212 --}{if {generic_page_overview_1_links:total_rows} > 0}\n" + " {generic_page_overview_1_links}\n" + " <li><a href=\"{generic_page_overview_1_links:link_url}\"><i class=\"{generic_page_overview_1 _links:icon} scaleup\"></i> {generic_page_overview_1_links:link_text}</a></li>\n" + " {/generic_page_overview_1_links}\n" + " </ul>\n" + " </div>\n" + " {/if}\n" + " </header>\n" + " <hr class=\"block-spacer\">\n" + " {/if}\n\n" + " <!-- Grey triangle box with optional picture. -->\n" + " {generic_page_overview_2}\n" + " <div class=\"row\">\n" + " <div class=\"triangle-tiles\">\n" + " <div class=\"row\">\n" + " <div class=\"columns {!-- ra:0000000019ecdb72000000005dbc5212 --}{if generic_page_overview_2:image != '' OR generic_page_overview_2:media_url != ''}larg e-6{if:else}large-12{/if}\">\n" + " {!-- ra:0000000019ecda96000000005dbc5212 --}{if generic_page_overview_2:title_url != ''}\n" + " <h2><a href=\"{generic_page_overview_2:title_url}\">{generic_page_overview_2:title}</a></h2>\n" + " {if:else}\n" + " <h2>{generic_page_overview_2:title}</h2>\n" + " {/if}\n" + " <h3>{generic_page_overview_2:text}</h3>\n" + " <ul class=\"link-on-dark-icons\">\n" + " {/generic_page_overview_2}\n\n\n" + " {!-- ra:0000000019ecdab4000000005dbc5212 --}{if {generic_page_overview_2:total_rows} > 0}\n" + " {!-- ra:0000000019ecdac8000000005dbc5212 --}{if {generic_page_overview_2_links:total_rows} > 0}\n" + " {generic_page_overview_2_links}\n" + " <li><a href=\"{generic_page_overview_2_links:link_url}\">{generic_page_overview_2_links:link_text} <i class=\"icon-carat\"></i></a></li>\n" + " {/generic_page_overview_2_links}\n" + " {/if}\n" + " </ul>\n" + " </div>\n" + " {generic_page_overview_2}\n" + " {!-- ra:0000000019ecdad2000000005dbc5212 --}{if generic_page_overview_2:image != ''}\n" + " <div class=\"columns large-6 \"><img src=\"{generic_page_overview_2:image}\"></div>\n" + " {!-- ra:0000000019ecdae0000000005dbc5212 --}{if:elseif generic_page_overview_2:media_url != ''}\n" + " <div class=\"columns large-6\">\n\n" + " </div>\n" + " {/if}\n" + " {/generic_page_overview_2}\n" + " </div>\n" + " </div>\n" + " </div>\n" + " <!--hr class=\"block-spacer\"-->\n" + " {/if}\n\n" + " <!-- stick navigation-->\n" + " {!-- ra:0000000019ecda3c000000005dbc5212 --}{if {generic_page_body:total_rows} > 1}\n" + " <div class=\"sticky-wrapper sticky-horizontal\">\n" + " <div class=\"row\">\n" + " {exp:vbi_utils:get_calcu_pair num_items='{generic_page_body:total_rows}'}\n" + " {!-- ra:0000000019ecda32000000005dbc5212 --}{if {row1_space_col} > 0}\n" + " <div class=\"columns large-{row1_space_col} medium-{row1_space_col} small-12\">&nbsp;</div>\n" + " {/if}\n" + " {generic_page_body}\n" + " {!-- ra:0000000019ecda5e000000005dbc5212 --}{if {generic_page_body:field_row_count} <= {limit_number}}\n" + " <div class=\"columns large-{row_col_1} medium-{row_col_1} small-12 {!-- ra:0000000019ecda6c000000005dbc5212 --}{if {generic_page_body:count} == {limit_number}}end{/if}\"><a href=\"#{exp:vbi_utils:url_friendly value='{generic_page_body:menu_title}'}\" class=\"smoothScroll\"><i class=\"{generic_page_body:icon}\"></i>{generic_page_body:menu_title}</a></div>\n" + " {/if}\n" + " {/generic_page_body}\n" + " {!-- ra:0000000019ecda70000000005dbc5212 --}{i f {row1_space_col} > 0}\n" + " <div class=\"columns large-{row1_space_col} medium-{row1_space_col} small-12\">&nbsp;</div>\n" + " {/if}\n" + " </div>\n" + " <div class=\"row\">\n" + " {!-- ra:0000000019ecd982000000005dbc5212 --}{if {row2_space_col} > 0}\n" + " <div class=\"columns large-{row2_space_col} medium-{row2_space_col} small-12\">&nbsp;</div>\n" + " {/if}\n" + " {generic_page_body}\n" + " {!-- ra:000000 0019ecd9ae000000005dbc5212 --}{if {generic_page_body:field_row_count} > {limit_number}}\n" + " <div class=\"columns large-{row_col_2} medium-{row_col_2} small-12 {!-- ra:0000000019ecd9bc000000005dbc5212 --}{if {generic_page_body:count} == {generic_page_body:total_rows}}end{/if}\"><a href=\"#{exp:vbi_utils:url_friendly value='{generic_page_body:menu_title}'}\" class=\"smoothScroll\"><i class=\"{generic_page_body:icon}\"></i>{generic_page_body:menu_title}</a></div>\n" + " {/i f}\n" + " {/generic_page_body}\n" + " {!-- ra:0000000019ecd9c0000000005dbc5212 --}{if {row2_space_col} > 0}\n" + " <div class=\"columns large-{row2_space_col} medium-{row2_space_col} small-12\">&nbsp;</div>\n" + " {/if}\n\n" + " {/exp:vbi_utils:get_calcu_pair}\n" + " </div>\n" + " </div>\n" + " {/if}\n\n" + " <!-- Grid Gallery -->\n" + " {!-- ra:0000000019ecd9e8000000005dbc5212 --}{if {generic_page_gallery:total_rows} > 0 || generic_page_gallery_intr o != ''}\n" + " <div class=\"row\">\n" + " <div class=\"block-white\">\n" + " <div class=\"row\">\n" + " <div class=\"columns large-12 medium-12 small-12\">\n" + " {generic_page_gallery_intro}\n" + " </div>\n" + " </div>\n" + " <div class=\"row\">\n" + " <div class=\"columns large-12 medium-12 small-12\">\n" + " <ul class=\"large-block-grid-3\">\n" + " {generic_page_gallery}\n" + " <li>\n" + " {!-- ra:0000000019ecd9f0000000005dbc5212 --}{if generic_page_gallery:image != ''}\n" + " <a href=\"{generic_page_gallery:link_url}\"><img c lass=\"close2x-precise\" src=\"{generic_page_gallery:image}\"></a>\n" + " {!-- ra:0000000019ecd900000000005dbc5212 --}{if:elseif generic_page_gallery:media_type == 'Image'}\n" + " <a href=\"{generic_page_gallery:link_url}\"><img class=\"close2x-precise\" src=\"{generic_page_gallery:media_url}\"></a>\n" + " {!-- ra:0000000019ecd910000000005dbc5212 --}{if:elseif generic_page_gallery:media_type == 'YouTube'}\n" + " <iframe src=\"{generic_page_gallery:media_url}\" frameborder=\"0\" allowfullscreen></ifr ame>\n" + " {!-- ra:0000000019ecd926000000005dbc5212 --}{if:elseif generic_page_gallery:media_type == 'Slideshare'}\n" + " <iframe src=\"{generic_page_gallery:media_url}\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen></iframe>\n" + " {/if}\n" + " <h3 class=\"close2x-precise\"><a href=\"{generic_page_gallery:link_url}\">{generic_page_gallery:link_text}</a></h3>\n" + " <p>{g eneric_page_gallery:text}</p>\n" + " </li>\n" + " {/generic_page_gallery}\n" + " </ul>\n" + " </div>\n" + " </div>\n" + " </div>\n" + " </div>\n" + " {/if}\n\n\n" + " {layout:preBodyContent}\n\n" + " {!-- ra:0000000019ecd946000000005dbc5212 --}{if {generic_page_body:total_rows} > 0}\n" + " <div class=\"row\">\n" + " <div class=\"block-white flush-left {!-- ra:0000000019ecd95a000000005dbc5212 --}{if {generic_page_body:total_rows} == 1 && {generic_page_body_sidebars:total_rows search:alignment='left'} == 0}block-white-content{/if}\">\n" + " <div class=\"row {!-- ra:0000000019ecd962000000005dbc5212 --}{if {generic_page_body:total_rows} == 1 && {generic_page_body_sidebars:total_rows search:alignment='left'} == 0}row-content{/if}\">\n\n" + " {!-- ra:0000000019ecd88a000000005dbc5212 --}{if {generic_page_body_sidebars:total_rows search:alignment=\"left\"} > 0}\n" + " <div class=\"columns {!-- ra:0000000019ecd89e000000005dbc5212 --}{if {generic_page_body_sidebars:total_rows search:alignment=\"right\"} > 0}large-3 medium-3{if:else}large-4 medium-4{/if} small-12\">\n" + " <div class=\"sidebar\">\n" + " {generic_page_body_sidebars search:alignment=\"left\"}\n" + " {!-- ra:0000000019ecd8a4000000005dbc5212 --}{if {generic_page_body_sidebars:count} > 1}\n" + " <hr class=\"split-sidebar\">\n" + " {/if}\n" + " <h3><i class=\"{generic_page_body_sidebars:icon}\"></i> {generic_page_body_sidebars:header}</h3>\n" + " {generic_page_body_sidebars:content}\n" + " {/generic_page_body_sidebars}\n" + " </div>\n" + " </div>\n" + " {/if}\n\n" + " <div class=\"columns {!-- ra:0000000019ecd8c8000000005dbc5212 --}{if {generic_page_body_sidebars:total_rows search:alignment='left'} > 0 && {generic_page_body_sidebars:total_rows search:alignment='right'} > 0}large-6 medium-6{!-- ra:0000000019ecd8d4000000005dbc5212 --}{if:elseif {generic_page_body_sidebars:total_rows search:alignment='left'} > 0 || {generic_page_body_sidebars:total_rows search:alignment='right'} > 0}large-8 medium-8{if:else}large-12 medium-12{/if} small-12\">\n" + " {generic_page_body}\n" + " <div id=\"{exp:vbi_utils:url_friendly value='{generic_page_body:menu_title}'}\" class=\"body-content\">\n" + " {!-- ra:0000000019ecd8f6000000005dbc5212 --}{if generic_page_body:content_title != ''}\n" + " <header class=\"section-subheader\">\n" + " <h2> {generic_page_body:content_title}</h2>\n" + " </header>\n" + " {/if}\n" + " {!-- ra:0000000019ecd800000000005dbc5212 --}{if generic_page_body:body_template != ''}\n" + " {embed=\"{generic_page_body:body_template}\"}\n" + " {/if}\n" + " {generic_page_body:content}\n" + " </div>\n" + " {/generic_page_body}\n" + " {!-- ra:0000000019ecd828000000005dbc5212 --}{if {generic_page_body:total_rows} > 1}\n" + " <p><a href=\"#main-header\" class=\"smoothScroll\"><i class=\"icon icon-carat-up\"></i> Back to top</a></p>\n" + " {/if}\n" + " </div>\n" + " {!-- ra:0000000019ecd838000000005dbc5212 --}{if {generic_page_body_sidebars:total_rows search:alignment=\"right\"} > 0}\n" + " <div class=\"columns {!-- ra:0000000019ecd84c000000005dbc5212 --}{if {generic _page_body_sidebars:total_rows search:alignment=\"left\"} > 0}large-3 medium-3{if:else}large-4 medium-4{/if} small-12\">\n" + " {generic_page_body_sidebars search:alignment=\"right\"}\n" + " <div class=\"sidebar news-sidebar-list round-left space-below\">\n" + " <header>\n" + " <h5><i class=\"{generic_page_body_sidebars:icon}\"></i> {generic_page_body_sidebars:header}</h5>\n" + " </header>\n" + " {generic_page_body_sidebars:content}\n" + " </div>\n" + " {/generic_page_body_sidebars}\n" + " </di v>\n" + " {/if}\n" + " </div>\n" + " </div>\n" + " </div>\n" + " {/if}\n\n" + " {generic_page_bottom_link}\n" + " <div class=\"row triangle-tiles text-center\">\n" + " <p class=\"close link-on-dark-icons\">\n" + " <a href=\"{generic_page_bottom_link:link_url}\">{generic_page_bottom_link:link_text} <i class=\"icon-carat\"></i></a>\n" + " </p>\n" + " </div>\n" + " {/generic_page_bottom_link}\n"; final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); final Matcher matcher = pattern.matcher(string); if (matcher.find()) { System.out.println("Full match: " + matcher.group(0)); for (int i = 1; i <= matcher.groupCount(); i++) { System.out.println("Group " + i + ": " + matcher.group(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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html