Regular Expressions 101

Save & Share

  • Save new Regex
    ctrl+s
  • Update 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
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
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • 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\\['(.*?)'\\]"; 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->get$1()"; 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