Regular Expressions 101

Save & Share

  • Regex Version: ver. 1
  • 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

/
/
g

Test String

Substitution

Processing...

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 = "\\$organization\\['(.1*?)"; final String string = "<?php $view->extend('layout.html.php') ?>\n" + "<div class=\"boxContainer contentContainer textContainer\">\n" + " <?php //echo $this->partial('common/notifications.phtml', 'default',\n" + " //array('messages' => $this->notificationMessages)); ?>\n" + " <?php echo $view->render(':scripts:common/notifications.html.php') ?>\n\n" + " <h2 class=\"contentHeader\"><span><?php echo $view['translator']->trans('om.organization.detail.heading', [], 'om');?></span></h2>\n" + " <div class=\"detail\">\n\n" + " <!-- Organization -->\n" + " <?php if (!empty($organization['name'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.name', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.name.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $view->escape($organization['name']);?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (isset($organization['active'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.active', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.active.tooltip\"></span></span>\n" + " <span class=\"field\"><?php /* @fixme echo $this->stateImage($organization['active'] ? 'ACTIVE' : 'INACTIVE') .\n" + " ' ' . $this->booleanMessage($organization['active']); */?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['type'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.type', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.type.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $view->escape($view['translator']->trans('om.organization.type.' . $organization['type'], [], 'om')); ?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['ownerOrganizationId'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.ownerOrganization', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.ownerOrganization.tooltip\"></span></span>\n" + " <span class=\"field\">\n" + " <?php // echo $this->entityReference('organization', $organization['ownerOrganizationId']); ?>\n" + " </span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($childOrganizations)): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.childOrganizations', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.childOrganizations.tooltip\"></span></span>\n" + " <span class=\"field\">\n" + " <?php for ($i = 0; $i < count($childOrganizations); $i++): ?>\n" + " <?php\n" + " echo $childOrganizations[$i]['name'];\n" + " ?>\n" + " <?php if ($i < count($childOrganizations) -1 ): ?>, <?php endif; ?>\n" + " <?php endfor; ?>\n" + " </span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['countryIds'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.countryIds', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.countryIds.tooltip\"></span></span>\n" + " <span class=\"field\">\n" + " <?php foreach ($organization['countryIds'] as $countryId): ?>\n" + " <?php // echo $view->escape($this->country($countryId)->getCountryName()); ?><br />\n" + " <?php endforeach; ?>\n" + " </span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['languageCodes'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.languageCodes', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.languageCodes.tooltip\"></span></span>\n" + " <span class=\"field\">\n" + " <?php\n" + " for ($i = 0; $i < count($organization['languageCodes']); $i++) {\n" + " if (!empty($organization['languageCodes'][$i])) {\n" + " // echo $this->entityReference('language', trim($organization['languageCodes'][$i]));\n" + " if ($i !== count($organization['languageCodes']) - 1) {\n" + " echo ', ';\n" + " }\n" + " }\n" + " }\n" + " ?>\n" + " </span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['roles'])):?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.person.roles', [], 'om'); ?><span data-igo-help-tooltip=\"help.om.organization.roles.tooltip\"></span></span>\n" + " <span class=\"field\">\n" + " <?php for ($i = 0; $i < count($organization['roles']); $i++) :?>\n" + " <?php echo $organization['roles'][$i]['name']; ?>\n" + " <?php if ($i < count($organization['roles']) -1): ?>, <?php endif; ?>\n" + " <?php endfor;?>\n" + " </span>\n" + " </div>\n" + " <?php endif;?>\n" + " <?php if ($organization['type'] === 'POS' & !empty($organization['flags'])): ?>\n" + " <?php foreach($organization['flags'] as $flag): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.' . $flag);?><span data-igo-help-tooltip=\"help.om.organization.<?= $flag ?>.tooltip\"></span></span>\n" + " <span class=\"field\">Yes</span>\n" + " </div>\n" + " <?php endforeach; ?>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['logotypeFilename'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('image', [], 'om'); ?><span data-igo-help-tooltip=\"help.om.organization.logotypeFilename.tooltip\"></span></span>\n" + " <span class=\"field\">\n" + " <?php if ($organization['logotypeFilename']): ?>\n" + " <img src=\"<?php echo $view->escape($organization['logotypeFilename']); ?>\"\n" + " alt=\"<?php echo $view->escape($organization['name']); ?>\"\n" + " title=\"<?php echo $view->escape($organization['name']); ?>\"/>\n" + " <?php endif; ?>\n" + " </span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['description'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.description', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.description.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $view->escape($organization['description']);?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['customCardType'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.customCardType', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.customCardType.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $view->escape($organization['customCardType']); ?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['contractStartDate'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.contractStartDate', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.contractStartDate.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $organization['contractStartDate'];?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['contractEndDate'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.contractEndDate', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.contractEndDate.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $organization['contractEndDate'];?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['mamutId'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.mamutId', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.mamutId.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $organization['mamutId'];?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['contactEmail'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.contactEmail', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.contactEmail.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $organization['contactEmail'];?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <hr />\n" + " <!-- Contact attributes -->\n" + " <?php if (!empty($organization['address1'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.address1', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.address1.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $view->escape($organization['address1']);?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['address2'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.address2', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.address2.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $view->escape($organization['address2']);?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($this->postalCode['cardType'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.postalCode', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.postalCode.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $view->escape($organization['postalCode']);?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['cityGeoId'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.cityGeoId', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.cityGeoId.tooltip\"></span></span>\n" + " <span class=\"field\"><?php // echo $view->escape($this->city($organization['cityGeoId'])->getCityName());?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['phone'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.phone', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.phone.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $view->escape($organization['phone']);?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['fax'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.fax', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.fax.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $view->escape($organization['fax']);?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['email'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.email', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.email.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $view->escape($organization['email']);?></span>\n" + " </div>\n" + " <?php endif; ?>\n\n" + " <!-- Operational attributes -->\n" + " <hr />\n" + " <?php if (!empty($organization['createdDate'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.createdDate', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.createdDate.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $organization['createdDate'];?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['lastModifiedDate'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.lastModifiedDate', [], 'om');?><span data-igo-help-tooltip=\"help.om.organization.lastModifiedDate.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $organization['lastModifiedDate'];?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['lastModifiedByUserId'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('lastModifiedByUser', [], 'common'); ?><span data-igo-help-tooltip=\"help.om.organization.lastModifiedByUser.tooltip\"></span></span>\n" + " <span class=\"field\">\n" + " <?php // echo $this->entityReference('user', $organization['lastModifiedByUserId']); ?>\n" + " </span>\n" + " </div>\n" + " <?php endif; ?>\n\n" + " <!-- Additional organization info -->\n" + " <?php if (!empty($organization['websites']) ||\n" + " !empty($organization['twitterLink']) ||\n" + " !empty($organization['facebookLink']) ||\n" + " !empty($organization['studentPopulation']) ||\n" + " !empty($organization['cardRetailSellingPrice'])): ?>\n" + " <hr />\n" + " <?php endif; ?>\n" + " <?php if (!empty($organizationWebsites)): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.website', [], 'om'); ?><span data-igo-help-tooltip=\"help.om.organization.website.tooltip\"></span></span>\n" + " <span class=\"field\">\n" + " <?php for ($i = 0; $i < $websitesCount = count($organizationWebsites); $i++) :?>\n" + " <a href=\"<?php echo $organizationWebsites[$i]; ?>\" target=\"_blank\"><?php echo $organizationWebsites[$i]; ?></a>\n" + " <?php if ($i != $websitesCount - 1) {\n" + " echo(\", \");\n" + " } ?>\n" + " <?php endfor;?>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['twitterLink'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.twitterLink', [], 'om'); ?><span data-igo-help-tooltip=\"help.om.organization.twitterLink.tooltip\"></span></span>\n" + " <span class=\"field\"><a href=\"<?php echo $organization['twitterLink'];?>\" target=\"_blank\"><?php echo $organization['twitterLink'];?></a></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['facebookLink'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.facebookLink', [], 'om'); ?><span data-igo-help-tooltip=\"help.om.organization.facebookLink.tooltip\"></span></span>\n" + " <span class=\"field\"><a href=\"<?php echo $organization['facebookLink'];?>\" target=\"_blank\"><?php echo $organization['facebookLink'];?></a></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['studentPopulation'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.studentPopulation', [], 'om'); ?><span data-igo-help-tooltip=\"help.om.organization.studentPopulation.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $organization['studentPopulation'];?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " <?php if (!empty($organization['cardRetailSellingPrice'])): ?>\n" + " <div class=\"fieldRow\">\n" + " <span class=\"label\"><?php echo $view['translator']->trans('om.organization.cardRetailSellingPrice', [], 'om'); ?><span data-igo-help-tooltip=\"help.om.organization.cardRetailSellingPrice.tooltip\"></span></span>\n" + " <span class=\"field\"><?php echo $organization['cardRetailSellingPrice'];?></span>\n" + " </div>\n" + " <?php endif; ?>\n" + " </div>\n" + "</div>\n" + "<?php if (Default_Model_SecurityUtils::hasPermission('ROLE_OM_ORGANIZATION_READ')): ?>\n" + "<div class=\"pageControls\">\n" + " <div class=\"left\">\n" + " <?php // @FIXME $defaultBackUrl = $this->url(array('controller' => 'organizations', 'action' => 'search', 'module' => 'om'), 'default'); ?>\n" + " <a class=\"btn btn-link\" href=\"<?php // echo $this->backUrl($defaultBackUrl); ?>\"><?php echo $view['translator']->trans('back', [], 'common'); ?></a>\n" + " </div>\n" + " <div class=\"right\">\n" + " <?php\n" + " // @FIXME $targetUrl = $this->url(array('action' => 'edit', 'id' => $organization['organizationId']), 'resource');\n" + " ?>\n" + " <?php //@FIXME echo $this->renderButton('edit', array('style' => 'wlw', 'align' => 'right',\n" + " //'href' => $this->backUrlAppend($targetUrl))); ?>\n" + " </div>\n" + " <div class=\"clearer\"></div>\n" + "</div>\n" + "<?php endif; ?>\n"; final String subst = "\\$organization\\['\\U\\1\\E"; final Pattern pattern = Pattern.compile(regex); final Matcher matcher = pattern.matcher(string); // The substituted value will be contained in the result variable final String result = matcher.replaceAll(subst); System.out.println("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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html