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

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 = "\\<listRel:entityId\\>(\\d+)[\\s\\w]+<\\/listRel:entityId\\>"; final String string = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" + " <soapenv:Header>\n" + " <platformMsgs:documentInfo xmlns:platformMsgs=\"urn:messages_2016_1.platform.webservices.netsuite.com\">\n" + " <platformMsgs:nsId>WEBSERVICES_4485702_0725201720695377301235376538_1740c596260</platformMsgs:nsId>\n" + " </platformMsgs:documentInfo>\n" + " </soapenv:Header>\n" + " <soapenv:Body>\n" + " <searchResponse xmlns=\"urn:messages_2016_1.platform.webservices.netsuite.com\">\n" + " <platformCore:searchResult xmlns:platformCore=\"urn:core_2016_1.platform.webservices.netsuite.com\">\n" + " <platformCore:status isSuccess=\"true\"/>\n" + " <platformCore:totalRecords>1</platformCore:totalRecords>\n" + " <platformCore:pageSize>1000</platformCore:pageSize>\n" + " <platformCore:totalPages>1</platformCore:totalPages>\n" + " <platformCore:pageIndex>1</platformCore:pageIndex>\n" + " <platformCore:searchId>WEBSERVICES_4485702_0725201720695377301235376538_1740c596260</platformCore:searchId>\n" + " <platformCore:recordList>\n" + " <platformCore:record internalId=\"13094669\" xsi:type=\"listRel:Customer\" xmlns:listRel=\"urn:relationships_2016_1.lists.webservices.netsuite.com\">\n" + " <listRel:entityId>917857 James Bond</listRel:entityId>\n" + " <listRel:isPerson>true</listRel:isPerson>\n" + " <listRel:firstName>James</listRel:firstName>\n" + " <listRel:lastName>Bond</listRel:lastName>\n" + " <listRel:companyName>Anonymous Customer (Sales Inbox)</listRel:companyName>\n" + " <listRel:entityStatus internalId=\"13\">\n" + " <platformCore:name>CUSTOMER-Closed Won</platformCore:name>\n" + " </listRel:entityStatus>\n" + " <listRel:parent internalId=\"4453\">\n" + " <platformCore:name>2 Anonymous Customer (Sales Inbox)</platformCore:name>\n" + " </listRel:parent>\n" + " <listRel:phone>(925) 206-3542</listRel:phone>\n" + " <listRel:email>jb@mi6.com</listRel:email>\n" + " <listRel:isInactive>false</listRel:isInactive>\n" + " <listRel:category internalId=\"6\">\n" + " <platformCore:name>Other (.com)</platformCore:name>\n" + " </listRel:category>\n" + " <listRel:language>_usEnglish</listRel:language>\n" + " <listRel:dateCreated>2017-07-17T15:13:48.000-07:00</listRel:dateCreated>\n" + " <listRel:emailPreference>_default</listRel:emailPreference>\n" + " <listRel:creditHoldOverride>_auto</listRel:creditHoldOverride>\n" + " <listRel:unbilledOrders>0.0</listRel:unbilledOrders>\n" + " <listRel:consolUnbilledOrders>0.0</listRel:consolUnbilledOrders>\n" + " <listRel:consolOverdueBalance>0.0</listRel:consolOverdueBalance>\n" + " <listRel:consolDepositBalance>0.0</listRel:consolDepositBalance>\n" + " <listRel:consolBalance>0.0</listRel:consolBalance>\n" + " <listRel:consolAging>0.0</listRel:consolAging>\n" + " <listRel:consolAging1>0.0</listRel:consolAging1>\n" + " <listRel:consolAging2>0.0</listRel:consolAging2>\n" + " <listRel:consolAging3>0.0</listRel:consolAging3>\n" + " <listRel:consolAging4>0.0</listRel:consolAging4>\n" + " <listRel:currency internalId=\"1\">\n" + " <platformCore:name>US Dollars</platformCore:name>\n" + " </listRel:currency>\n" + " <listRel:shipComplete>false</listRel:shipComplete>\n" + " <listRel:taxable>true</listRel:taxable>\n" + " <listRel:taxItem internalId=\"1178\">\n" + " <platformCore:name>AVATAX</platformCore:name>\n" + " </listRel:taxItem>\n" + " <listRel:aging>0.0</listRel:aging>\n" + " <listRel:aging1>0.0</listRel:aging1>\n" + " <listRel:aging2>0.0</listRel:aging2>\n" + " <listRel:aging3>0.0</listRel:aging3>\n" + " <listRel:aging4>0.0</listRel:aging4>\n" + " <listRel:giveAccess>false</listRel:giveAccess>\n" + " <listRel:accessRole internalId=\"14\">\n" + " <platformCore:name>Customer Center</platformCore:name>\n" + " </listRel:accessRole>\n" + " <listRel:receivablesAccount internalId=\"-10\">\n" + " <platformCore:name>Use System Preference</platformCore:name>\n" + " </listRel:receivablesAccount>\n" + " <listRel:lastModifiedDate>2017-07-25T09:07:54.000-07:00</listRel:lastModifiedDate>\n" + " <listRel:stage>_customer</listRel:stage>\n" + " <listRel:emailTransactions>false</listRel:emailTransactions>\n" + " <listRel:printTransactions>false</listRel:printTransactions>\n" + " <listRel:faxTransactions>false</listRel:faxTransactions>\n" + " <listRel:isBudgetApproved>false</listRel:isBudgetApproved>\n" + " <listRel:globalSubscriptionStatus>_softOptIn</listRel:globalSubscriptionStatus>\n" + " <listRel:customFieldList>\n" + " <platformCore:customField internalId=\"3153\" scriptId=\"custentity_cseg_v_subsidiary\" xsi:type=\"platformCore:SelectCustomFieldRef\">\n" + " <platformCore:value internalId=\"1\" typeId=\"448\">\n" + " <platformCore:name>North America</platformCore:name>\n" + " </platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"6\" scriptId=\"custentity_esc_last_modified_date\" xsi:type=\"platformCore:DateCustomFieldRef\">\n" + " <platformCore:value>2017-07-24T22:00:00.000-07:00</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"2416\" scriptId=\"custentity_muv_synctomarketo\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"1498\" scriptId=\"custentity_pri_line_item_modifier_entity\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"2269\" scriptId=\"custentity_remove_from_campaign\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"3125\" scriptId=\"custentity_v_auto_created_web_company\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"3027\" scriptId=\"custentity_v_companygroup\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"3157\" scriptId=\"custentity_v_cust_require_po\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"1149\" scriptId=\"custentity_v_demo_customer\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"2266\" scriptId=\"custentity_v_do_not_call\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"601\" scriptId=\"custentity_v_do_not_sync_w_parent\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"2885\" scriptId=\"custentity_v_fromopportunity\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"3141\" scriptId=\"custentity_v_group_domains\" xsi:type=\"platformCore:StringCustomFieldRef\">\n" + " <platformCore:value>ERROR: Invalid Expression</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"2867\" scriptId=\"custentity_v_hot_activity_marketo\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"3214\" scriptId=\"custentity_v_last_sent_to_marketo\" xsi:type=\"platformCore:DateCustomFieldRef\">\n" + " <platformCore:value>2017-07-17T15:14:00.000-07:00</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"1671\" scriptId=\"custentity_v_locale\" xsi:type=\"platformCore:SelectCustomFieldRef\">\n" + " <platformCore:value internalId=\"13\" typeId=\"299\">\n" + " <platformCore:name>English - Canada</platformCore:name>\n" + " </platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"3257\" scriptId=\"custentity_v_marketo_no_sync\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"3215\" scriptId=\"custentity_v_marketo_send_status\" xsi:type=\"platformCore:StringCustomFieldRef\">\n" + " <platformCore:value>created</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"2248\" scriptId=\"custentity_v_netsuite_1_campaigns\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"3144\" scriptId=\"custentity_v_omit_statements\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"2264\" scriptId=\"custentity_v_payment_notification\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"600\" scriptId=\"custentity_v_region_class\" xsi:type=\"platformCore:SelectCustomFieldRef\">\n" + " <platformCore:value internalId=\"8\" typeId=\"-101\">\n" + " <platformCore:name>North America : US</platformCore:name>\n" + " </platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"1668\" scriptId=\"custentity_v_require_invoice_submission\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"2874\" scriptId=\"custentity_v_teamgroup\" xsi:type=\"platformCore:SelectCustomFieldRef\">\n" + " <platformCore:value internalId=\"9\" typeId=\"410\">\n" + " <platformCore:name>Sales Group (US)</platformCore:name>\n" + " </platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"2267\" scriptId=\"custentity_v_unsubscribe_mktg_email\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"2957\" scriptId=\"custentity_v_usemailmerge\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " <platformCore:customField internalId=\"2855\" scriptId=\"custentity_v_vat_exempt\" xsi:type=\"platformCore:BooleanCustomFieldRef\">\n" + " <platformCore:value>false</platformCore:value>\n" + " </platformCore:customField>\n" + " </listRel:customFieldList>\n" + " </platformCore:record>\n" + " </platformCore:recordList>\n" + " </platformCore:searchResult>\n" + " </searchResponse>\n" + " </soapenv:Body>\n" + "</soapenv:Envelope>"; final Pattern pattern = Pattern.compile(regex); final Matcher matcher = pattern.matcher(string); while (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