Regular Expressions 101

Save & Share

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

/
/

Test String

Code Generator

Generated Code

$re = '/(?<=CONTRAINT)(.*)(?="ACCOUNT_ID")/'; $str = ' CREATE TABLE "SALES"."ACCOUNT_" ( "ORGANIZATION_ID" CHAR(15) NOT NULL ENABLE, "ACCOUNT_ID" CHAR(15) NOT NULL ENABLE, "DIVISION" NUMBER NOT NULL ENABLE, "OWNER" CHAR(15) NOT NULL ENABLE, "DELETED" CHAR(1) DEFAULT \'0\' NOT NULL ENABLE, "PARENT_ID" CHAR(15) NOT NULL ENABLE, "CURRENCY_ISO_CODE" CHAR(3) NOT NULL ENABLE, "SUPPRESS_TERRITORY_RULES" CHAR(1) DEFAULT \'0\' NOT NULL ENABLE, "SYSTEM_MODSTAMP" DATE DEFAULT SYSDATE NOT NULL ENABLE, "LAST_UPDATE" DATE DEFAULT SYSDATE NOT NULL ENABLE, "CREATED_DATE" DATE DEFAULT SYSDATE NOT NULL ENABLE, "CREATED_BY" CHAR(15) NOT NULL ENABLE, "LAST_UPDATE_BY" CHAR(15) NOT NULL ENABLE, "PERSON_CONTACT_ID" CHAR(15) NOT NULL ENABLE, "SHORT_DESCRIPTION" VARCHAR2(4000), "RECORD_TYPE_ID" CHAR(15), "LAST_ACTIVITY" DATE, "SS_ENABLED" CHAR(1), "SS_LAST_LOGIN" DATE, "ACCOUNT_NUMBER" VARCHAR2(120), "NAME" VARCHAR2(765), "NAME_LOCAL" VARCHAR2(765), "PHONE1" VARCHAR2(120), "PHONE2" VARCHAR2(120), "ADDRESS1_STREET" VARCHAR2(765), "ADDRESS1_CITY" VARCHAR2(120), "ADDRESS1_STATE" VARCHAR2(240), "ADDRESS1_ZIP" VARCHAR2(60), "ADDRESS1_COUNTRY" VARCHAR2(240), "SITE" VARCHAR2(240), "ADDRESS2_STREET" VARCHAR2(765), "ADDRESS2_CITY" VARCHAR2(120), "ADDRESS2_STATE" VARCHAR2(240), "ADDRESS2_ZIP" VARCHAR2(60), "ADDRESS2_COUNTRY" VARCHAR2(240), "URL" VARCHAR2(765), "SIC" VARCHAR2(60), "SALES" NUMBER, "EMPLOYEES" NUMBER, "TYPE_ENUM" NUMBER, "INDUSTRY_ENUM" NUMBER, "OWNERSHIP_ENUM" NUMBER, "RATING_ENUM" NUMBER, "TICKER" VARCHAR2(60), "FIRST_NAME" VARCHAR2(299), "LAST_NAME" VARCHAR2(531), "SALUTATION_ENUM" NUMBER, "MASTER_RECORD_ID" CHAR(15), "ROW_VERSION" NUMBER DEFAULT 1, "USE_SALESFORCE" CHAR(1) DEFAULT NULL, "JIGSAW_KEY" VARCHAR2(20), "CLEAN_STATUS" CHAR(1) NOT NULL ENABLE, "ACCOUNT_SOURCE_ENUM" NUMBER, "DUNS_NUMBER" VARCHAR2(27), "DBA_NAME" VARCHAR2(765), "NAICS_CODE" VARCHAR2(24), "NAICS_DESC" VARCHAR2(360), "YEAR_STARTED" VARCHAR2(12), "SIC_DESC" VARCHAR2(240), "D_AND_B_COMPANY_ID" CHAR(15), "ADDRESS1_STATE_CODE" VARCHAR2(30), "ADDRESS1_COUNTRY_CODE" VARCHAR2(30), "ADDRESS2_STATE_CODE" VARCHAR2(30), "ADDRESS2_COUNTRY_CODE" VARCHAR2(30), "SKIP_CLEAN" CHAR(1) DEFAULT \'0\' NOT NULL ENABLE, "ADDRESS1_LATITUDE" NUMBER, "ADDRESS1_LONGITUDE" NUMBER, "ADDRESS1_XYZ" VARCHAR2(120), "ADDRESS2_LATITUDE" NUMBER, "ADDRESS2_LONGITUDE" NUMBER, "ADDRESS2_XYZ" VARCHAR2(120), "PREFERRED_ADDRESS" VARCHAR2(240), "PREFERRED_ADDRESS_LOCAL" VARCHAR2(240), "LANGUAGE" VARCHAR2(15), "LOCALE" VARCHAR2(15), "TIME_ZONE" VARCHAR2(32), "SUFFIX" VARCHAR2(120), "MIDDLE_NAME" VARCHAR2(299), "MIDDLE_NAME_LOCAL" VARCHAR2(120), "ADDRESS1_ACCURACY" VARCHAR2(240), "ADDRESS2_ACCURACY" VARCHAR2(240), "OPERATING_HOURS_ID" CHAR(15), "GLOBAL_PARTY_ID" VARCHAR2(255), CONSTRAINT "PKACCOUNTI" PRIMARY KEY ("ORGANIZATION_ID", "ACCOUNT_ID") USING INDEX PCTFREE 1 INITRANS 2 MAXTRANS 255 NOLOGGING STORAGE( BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "PTI01" LOCAL (PARTITION "ACCOUNT01" TABLESPACE "PTI01" , PARTITION "ACCOUNT02" TABLESPACE "PTI02" , PARTITION "ACCOUNT03" TABLESPACE "PTI03" , PARTITION "ACCOUNT04" TABLESPACE "PTI04" , PARTITION "ACCOUNT05" TABLESPACE "PTI05" , PARTITION "ACCOUNT06" TABLESPACE "PTI06" , PARTITION "ACCOUNT07" TABLESPACE "PTI07" , PARTITION "ACCOUNT08" TABLESPACE "PTI08" , PARTITION "ACCOUNT09" TABLESPACE "PTI09" , PARTITION "ACCOUNT10" TABLESPACE "PTI10" , PARTITION "ACCOUNT11" TABLESPACE "PTI11" , PARTITION "ACCOUNT12" TABLESPACE "PTI12" , PARTITION "ACCOUNT13" TABLESPACE "PTI13" , PARTITION "ACCOUNT14" TABLESPACE "PTI14" , PARTITION "ACCOUNT15" TABLESPACE "PTI15" , PARTITION "ACCOUNT16" TABLESPACE "PTI16" , PARTITION "ACCOUNT17" TABLESPACE "PTI17" , PARTITION "ACCOUNT18" TABLESPACE "PTI18" , PARTITION "ACCOUNT19" TABLESPACE "PTI19" , PARTITION "ACCOUNT20" TABLESPACE "PTI20" , PARTITION "ACCOUNT21" TABLESPACE "PTI21" , PARTITION "ACCOUNT22" TABLESPACE "PTI22" , PARTITION "ACCOUNT23" TABLESPACE "PTI23" , PARTITION "ACCOUNT24" TABLESPACE "PTI24" , PARTITION "ACCOUNT25" TABLESPACE "PTI25" , PARTITION "ACCOUNT26" TABLESPACE "PTI26" , PARTITION "ACCOUNT27" TABLESPACE "PTI27" , PARTITION "ACCOUNT28" TABLESPACE "PTI28" , PARTITION "ACCOUNT29" TABLESPACE "PTI29" , PARTITION "ACCOUNT30" TABLESPACE "PTI30" , PARTITION "ACCOUNT31" TABLESPACE "PTI31" , PARTITION "ACCOUNT32" TABLESPACE "PTI32" ) COMPRESS 1 ENABLE ) PCTFREE 5 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING STORAGE( BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "PTD01" PARTITION BY HASH ("ORGANIZATION_ID") (PARTITION "ACCOUNT01" SEGMENT CREATION DEFERRED TABLESPACE "PTD01" NOCOMPRESS , PARTITION "ACCOUNT02" SEGMENT CREATION DEFERRED TABLESPACE "PTD02" NOCOMPRESS , PARTITION "ACCOUNT03" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD03" NOCOMPRESS , PARTITION "ACCOUNT04" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD04" NOCOMPRESS , PARTITION "ACCOUNT05" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD05" NOCOMPRESS , PARTITION "ACCOUNT06" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD06" NOCOMPRESS , PARTITION "ACCOUNT07" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD07" NOCOMPRESS , PARTITION "ACCOUNT08" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD08" NOCOMPRESS , PARTITION "ACCOUNT09" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD09" NOCOMPRESS , PARTITION "ACCOUNT10" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD10" NOCOMPRESS , PARTITION "ACCOUNT11" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD11" NOCOMPRESS , PARTITION "ACCOUNT12" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD12" NOCOMPRESS , PARTITION "ACCOUNT13" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD13" NOCOMPRESS , PARTITION "ACCOUNT14" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD14" NOCOMPRESS , PARTITION "ACCOUNT15" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD15" NOCOMPRESS , PARTITION "ACCOUNT16" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD16" NOCOMPRESS , PARTITION "ACCOUNT17" SEGMENT CREATION DEFERRED TABLESPACE "PTD17" NOCOMPRESS , PARTITION "ACCOUNT18" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD18" NOCOMPRESS , PARTITION "ACCOUNT19" SEGMENT CREATION DEFERRED TABLESPACE "PTD19" NOCOMPRESS , PARTITION "ACCOUNT20" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD20" NOCOMPRESS , PARTITION "ACCOUNT21" SEGMENT CREATION DEFERRED TABLESPACE "PTD21" NOCOMPRESS , PARTITION "ACCOUNT22" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD22" NOCOMPRESS , PARTITION "ACCOUNT23" SEGMENT CREATION DEFERRED TABLESPACE "PTD23" NOCOMPRESS , PARTITION "ACCOUNT24" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD24" NOCOMPRESS , PARTITION "ACCOUNT25" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD25" NOCOMPRESS , PARTITION "ACCOUNT26" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD26" NOCOMPRESS , PARTITION "ACCOUNT27" SEGMENT CREATION DEFERRED TABLESPACE "PTD27" NOCOMPRESS , PARTITION "ACCOUNT28" SEGMENT CREATION DEFERRED TABLESPACE "PTD28" NOCOMPRESS , PARTITION "ACCOUNT29" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD29" NOCOMPRESS , PARTITION "ACCOUNT30" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD30" NOCOMPRESS , PARTITION "ACCOUNT31" SEGMENT CREATION IMMEDIATE TABLESPACE "PTD31" NOCOMPRESS , PARTITION "ACCOUNT32" SEGMENT CREATION DEFERRED TABLESPACE "PTD32" NOCOMPRESS ) '; preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0); // Print the entire match result var_dump($matches);

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