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

/
/
gm

Test String

Code Generator

Generated Code

#include <StringConstants.au3> ; to declare the Constants of StringRegExp #include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate Local $sRegex = "(?m)^(\S+|\S+\s+\d+\s+\S+) [^\s\.]+ .*warn .* Failed to fetch cPStore[\s\S]*?(?=\n.*?\[)" Local $sString = "[2023-08-03 06:15:03 -0400] info [autorepair] Successfully verified signature for cpanel (key types: release)." & @CRLF & _ "[2023-08-03 06:15:04 -0400] info [autorepair] Successfully verified signature for cpanel (key types: release)." & @CRLF & _ "[2023-08-03 06:45:04 -0400] warn [xml-api] Failed to fetch cPStore products list: Cpanel::Exception::Market::Disabled/(XID qxedn2) “cPanel Store” indicated that the Market has been disabled by the license holder." & @CRLF & _ " at /usr/local/cpanel/Cpanel/Exception/External.pm line 106." & @CRLF & _ " Cpanel::Exception::External::create("Market::Disabled", HASH(0x4cc2b50)) called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 94" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::__ANON__(Cpanel::Exception::cPStoreError=HASH(0x53ee560)) called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 121" & @CRLF & _ " Try::Tiny::try(CODE(0x4dde068), Try::Tiny::Catch=REF(0x4c71d90)) called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 96" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::_LOAD_FRESH("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/CacheFile.pm line 239" & @CRLF & _ " Cpanel::CacheFile::load("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 139" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::load_with_short_name("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 104" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::load("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore.pm line 180" & @CRLF & _ " Cpanel::Market::Provider::cPStore::_get_products_list_for_validation() called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore.pm line 167" & @CRLF & _ " Cpanel::Market::Provider::cPStore::get_products_list() called at /usr/local/cpanel/Cpanel/Config/ConfigObj/Driver/Market/META.pm line 119" & @CRLF & _ " Cpanel::Config::ConfigObj::Driver::Market::META::__ANON__() called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 100" & @CRLF & _ " eval {...} called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 91" & @CRLF & _ " Try::Tiny::try(CODE(0x4dcaf10), Try::Tiny::Catch=REF(0x48fd770)) called at /usr/local/cpanel/Cpanel/Config/ConfigObj/Driver/Market/META.pm line 124" & @CRLF & _ " Cpanel::Config::ConfigObj::Driver::Market::META::can_be_enabled() called at /usr/local/cpanel/Cpanel/Config/ConfigObj/Driver/Market/META.pm line 148" & @CRLF & _ " Cpanel::Config::ConfigObj::Driver::Market::META::auto_enable("Cpanel::Config::ConfigObj::Driver::Market::META") called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 106" & @CRLF & _ " Cpanel::Config::ConfigObj::_unload_if_auto_enabled("Cpanel::Config::ConfigObj::Driver::Market", "Cpanel::Config::ConfigObj::Driver::Market::META") called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 160" & @CRLF & _ " Cpanel::Config::ConfigObj::get_available_drivers(undef, 0, 0) called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 563" & @CRLF & _ " Cpanel::Config::ConfigObj::_get_drivers(Cpanel::Config::ConfigObj=HASH(0x486f4b0)) called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 707" & @CRLF & _ " Cpanel::Config::ConfigObj::call_all(Cpanel::Config::ConfigObj=HASH(0x486f4b0), "acl_desc") called at /usr/local/cpanel/Whostmgr/ACLS.pm line 112" & @CRLF & _ " Whostmgr::ACLS::_dynamic_acl_items() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 133" & @CRLF & _ " Whostmgr::ACLS::_get_dynamic_acl_lists() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 175" & @CRLF & _ " Whostmgr::ACLS::_dynamic_acl_update() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 117" & @CRLF & _ " Whostmgr::ACLS::get_dynamic_acl_lists() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 97" & @CRLF & _ " Whostmgr::ACLS::get_filtered_reseller_privs() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 68" & @CRLF & _ " Whostmgr::ACLS::_acls() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 53" & @CRLF & _ " Whostmgr::ACLS::init_acls() called at whostmgr/bin/xml-api.pl line 5024" & @CRLF & _ " whostmgr::bin::xml_api::script(CODE(0x472a388), "-json", "./listaccts") called at whostmgr/bin/xml-api.pl line 5015" & @CRLF & _ "" & @CRLF & _ "[2023-08-03 07:05:07 -0400] info [xml-api] Permission denied: You do not have the required privileges to run “listresellers”. [listresellers] version [1]." & @CRLF & _ "[2023-08-03 07:45:07 -0400] warn [xml-api] Failed to fetch cPStore products list: Cpanel::Exception::Market::Disabled/(XID uym54m) “cPanel Store” indicated that the Market has been disabled by the license holder." & @CRLF & _ " at /usr/local/cpanel/Cpanel/Exception/External.pm line 106." & @CRLF & _ " Cpanel::Exception::External::create("Market::Disabled", HASH(0x4a37628)) called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 94" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::__ANON__(Cpanel::Exception::cPStoreError=HASH(0x51ff6c0)) called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 121" & @CRLF & _ " Try::Tiny::try(CODE(0x4beef68), Try::Tiny::Catch=REF(0x4a82d80)) called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 96" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::_LOAD_FRESH("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/CacheFile.pm line 239" & @CRLF & _ " Cpanel::CacheFile::load("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 139" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::load_with_short_name("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 104" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::load("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore.pm line 180" & @CRLF & _ " Cpanel::Market::Provider::cPStore::_get_products_list_for_validation() called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore.pm line 167" & @CRLF & _ " Cpanel::Market::Provider::cPStore::get_products_list() called at /usr/local/cpanel/Cpanel/Config/ConfigObj/Driver/Market/META.pm line 119" & @CRLF & _ " Cpanel::Config::ConfigObj::Driver::Market::META::__ANON__() called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 100" & @CRLF & _ " eval {...} called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 91" & @CRLF & _ " Try::Tiny::try(CODE(0x4bdbf30), Try::Tiny::Catch=REF(0x470e6c0)) called at /usr/local/cpanel/Cpanel/Config/ConfigObj/Driver/Market/META.pm line 124" & @CRLF & _ " Cpanel::Config::ConfigObj::Driver::Market::META::can_be_enabled() called at /usr/local/cpanel/Cpanel/Config/ConfigObj/Driver/Market/META.pm line 148" & @CRLF & _ " Cpanel::Config::ConfigObj::Driver::Market::META::auto_enable("Cpanel::Config::ConfigObj::Driver::Market::META") called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 106" & @CRLF & _ " Cpanel::Config::ConfigObj::_unload_if_auto_enabled("Cpanel::Config::ConfigObj::Driver::Market", "Cpanel::Config::ConfigObj::Driver::Market::META") called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 160" & @CRLF & _ " Cpanel::Config::ConfigObj::get_available_drivers(undef, 0, 0) called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 563" & @CRLF & _ " Cpanel::Config::ConfigObj::_get_drivers(Cpanel::Config::ConfigObj=HASH(0x45c6558)) called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 707" & @CRLF & _ " Cpanel::Config::ConfigObj::call_all(Cpanel::Config::ConfigObj=HASH(0x45c6558), "acl_desc") called at /usr/local/cpanel/Whostmgr/ACLS.pm line 112" & @CRLF & _ " Whostmgr::ACLS::_dynamic_acl_items() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 133" & @CRLF & _ " Whostmgr::ACLS::_get_dynamic_acl_lists() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 175" & @CRLF & _ " Whostmgr::ACLS::_dynamic_acl_update() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 117" & @CRLF & _ " Whostmgr::ACLS::get_dynamic_acl_lists() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 97" & @CRLF & _ " Whostmgr::ACLS::get_filtered_reseller_privs() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 68" & @CRLF & _ " Whostmgr::ACLS::_acls() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 53" & @CRLF & _ " Whostmgr::ACLS::init_acls() called at whostmgr/bin/xml-api.pl line 5024" & @CRLF & _ " whostmgr::bin::xml_api::script(CODE(0x453b568), "-json", "./listaccts") called at whostmgr/bin/xml-api.pl line 5015" & @CRLF & _ "" & @CRLF & _ "[2023-08-03 08:45:05 -0400] warn [xml-api] Failed to fetch cPStore products list: Cpanel::Exception::Market::Disabled/(XID b69t9c) “cPanel Store” indicated that the Market has been disabled by the license holder." & @CRLF & _ " at /usr/local/cpanel/Cpanel/Exception/External.pm line 106." & @CRLF & _ " Cpanel::Exception::External::create("Market::Disabled", HASH(0x4286c10)) called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 94" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::__ANON__(Cpanel::Exception::cPStoreError=HASH(0x49b2678)) called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 121" & @CRLF & _ " Try::Tiny::try(CODE(0x43a2078), Try::Tiny::Catch=REF(0x4235dd0)) called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 96" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::_LOAD_FRESH("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/CacheFile.pm line 239" & @CRLF & _ " Cpanel::CacheFile::load("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 139" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::load_with_short_name("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore/ProductsCache.pm line 104" & @CRLF & _ " Cpanel::Market::Provider::cPStore::ProductsCache::load("Cpanel::Market::Provider::cPStore::ProductsCache") called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore.pm line 180" & @CRLF & _ " Cpanel::Market::Provider::cPStore::_get_products_list_for_validation() called at /usr/local/cpanel/Cpanel/Market/Provider/cPStore.pm line 167" & @CRLF & _ " Cpanel::Market::Provider::cPStore::get_products_list() called at /usr/local/cpanel/Cpanel/Config/ConfigObj/Driver/Market/META.pm line 119" & @CRLF & _ " Cpanel::Config::ConfigObj::Driver::Market::META::__ANON__() called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 100" & @CRLF & _ " eval {...} called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 91" & @CRLF & _ " Try::Tiny::try(CODE(0x438eaf8), Try::Tiny::Catch=REF(0x3ec1690)) called at /usr/local/cpanel/Cpanel/Config/ConfigObj/Driver/Market/META.pm line 124" & @CRLF & _ " Cpanel::Config::ConfigObj::Driver::Market::META::can_be_enabled() called at /usr/local/cpanel/Cpanel/Config/ConfigObj/Driver/Market/META.pm line 148" & @CRLF & _ " Cpanel::Config::ConfigObj::Driver::Market::META::auto_enable("Cpanel::Config::ConfigObj::Driver::Market::META") called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 106" & @CRLF & _ " Cpanel::Config::ConfigObj::_unload_if_auto_enabled("Cpanel::Config::ConfigObj::Driver::Market", "Cpanel::Config::ConfigObj::Driver::Market::META") called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 160" & @CRLF & _ " Cpanel::Config::ConfigObj::get_available_drivers(undef, 0, 0) called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 563" & @CRLF & _ " Cpanel::Config::ConfigObj::_get_drivers(Cpanel::Config::ConfigObj=HASH(0x3d78750)) called at /usr/local/cpanel/Cpanel/Config/ConfigObj.pm line 707" & @CRLF & _ " Cpanel::Config::ConfigObj::call_all(Cpanel::Config::ConfigObj=HASH(0x3d78750), "acl_desc") called at /usr/local/cpanel/Whostmgr/ACLS.pm line 112" & @CRLF & _ " Whostmgr::ACLS::_dynamic_acl_items() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 133" & @CRLF & _ " Whostmgr::ACLS::_get_dynamic_acl_lists() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 175" & @CRLF & _ " Whostmgr::ACLS::_dynamic_acl_update() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 117" & @CRLF & _ " Whostmgr::ACLS::get_dynamic_acl_lists() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 97" & @CRLF & _ " Whostmgr::ACLS::get_filtered_reseller_privs() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 68" & @CRLF & _ " Whostmgr::ACLS::_acls() called at /usr/local/cpanel/Whostmgr/ACLS.pm line 53" & @CRLF & _ " Whostmgr::ACLS::init_acls() called at whostmgr/bin/xml-api.pl line 5024" & @CRLF & _ " whostmgr::bin::xml_api::script(CODE(0x3ceddb8), "-json", "./listaccts") called at whostmgr/bin/xml-api.pl line 5015" & @CRLF & _ "" & @CRLF & _ "[2023-08-03 09:09:50 -0400] info [whostmgrd] Successfully verified signature for cpanel (key types: release)." & @CRLF & _ "" Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH) Local $aFullArray[0] For $i = 0 To UBound($aArray) -1 _ArrayConcatenate($aFullArray, $aArray[$i]) Next $aArray = $aFullArray ; Present the entire match result _ArrayDisplay($aArray, "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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm