Regular Expressions 101

Save & Share

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

# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression. sed -E 's/(.*?'(.*)')|.*\n/$2\r/g;t' <<< "declare @p1 int set @p1=135 exec sp_prepexec @p1 output,NULL,N'select DefaultArAccount from Org_Control where OrgCode =''UCC''' select @p1 go declare @p1 int set @p1=136 exec sp_prepexec @p1 output,NULL,N'Select OrgCode, OrgName, Logo, InvoiceAddress, LetterheadAddress, DefaultFlag, IsFund, DefaultCashAccount, DefaultArAccount, FinanceAccount, DiscountAccount, DefaultTaxAccount, DefaultIncomeAccount, RefundClearingAccount, DefaultFreightAccount, DefaultHandlingAccount, DefaultCancellationAccount, RefundApAccount, TaxAuthority, GSTRemitNumber, DefaultPrepaidOrderAccount, DefaultTransferClearingAccount, DefaultWriteOffOffsetAccount, VATRegNumber, VATCountry, VATBranchID, CoVATRegNumber, UseVATTaxation, UseCanadianTaxation, Registration_Num from Org_Control order by Org_Control.OrgCode' select @p1 go declare @p1 int set @p1=137 exec sp_prepexec @p1 output,NULL,N'select Invoice.INVOICE_NUM from Invoice where Invoice.REFERENCE_NUM=0' select @p1 go declare @p1 int set @p1=138 exec sp_prepexec @p1 output,NULL,N'select Name_Fin.RENEW_MONTHS,Name.PAID_THRU from Name, Name_Fin where Name.ID = Name_Fin.ID and Name_Fin.ID = ''01051232''' select @p1 go declare @p1 int set @p1=139 exec sp_prepexec @p1 output,NULL,N'select Product.RENEW_MONTHS from Product where Product.PRODUCT_CODE = ''PC_CN''' select @p1 go declare @p1 int set @p1=140 exec sp_prepexec @p1 output,NULL,N'select BEGIN_DATE,PAID_THRU,PREVIOUS_BALANCE,BILL_AMOUNT,STATUS, BILL_TYPE, BILL_BEGIN, BILL_THRU, Subscriptions.PAYMENT_AMOUNT,IS_FR_ITEM,CAMPAIGN_CODE,APPEAL_CODE,FAIR_MARKET_VALUE,ORG_CODE from Subscriptions where ID = ''01051232'' and PRODUCT_CODE = ''PC_CN''' select @p1 go declare @p1 int set @p1=141 exec sp_prepexec @p1 output,NULL,N'select ID,MEMBER_TYPE,STATUS,MEMBER_STATUS,MEMBER_STATUS_DATE,PAID_THRU,MEMBER_RECORD,JOIN_DATE,Name.CO_ID,COMPANY_RECORD from Name where ID = ''01051232''' select @p1 go declare @p1 int set @p1=142 exec sp_prepexec @p1 output,NULL,N'Select MEMBER_TYPE, DESCRIPTION, MEMBER_RECORD, COMPANY_RECORD, DUES_CODE_1, DUES_CODE_2, DUES_CODE_3, DUES_CODE_4, DUES_CODE_5, DUES_CODE_6, DUES_CODE_7, DUES_CODE_8, DUES_CODE_9, DUES_CODE_10, RATE_1, RATE_2, RATE_3, RATE_4, RATE_5, RATE_6, RATE_7, RATE_8, RATE_9, RATE_10, BILL_COMPANY, SPECIAL_FORM, COMP_1, COMP_2, COMP_3, COMP_4, COMP_5, COMP_6, COMP_7, COMP_8, COMP_9, COMP_10, DEFAULT_SECURITY_GROUP from Member_Types order by Member_Types.MEMBER_TYPE' select @p1 go declare @p1 int set @p1=143 exec sp_prepexec @p1 output,NULL,N'select CAMPAIGN_CODE from Appeal where Appeal.APPEAL_CODE=''SC''' select @p1 go exec sp_asi_GetCounter 'Activity',1 go declare @p1 int set @p1=144 exec sp_prepexec @p1 output,NULL,N'select Cash_Accounts.ACCOUNT_TYPE from Cash_Accounts where Cash_Accounts.CASH_ACCOUNT_CODE = ''AMERICAN E''' select @p1 go declare @p1 int set @p1=145 exec sp_prepexec @p1 output,NULL,N'select CATEGORY from Name where ID= ''01051232''' select @p1 go declare @p1 int set @p1=146 exec sp_prepexec @p1 output,NULL,N'select APPEAL_CODE from Subscriptions where Subscriptions.ID= ''01051232'' and Subscriptions.PRODUCT_CODE= ''PC_CN''' select @p1 go declare @p1 int set @p1=147 exec sp_prepexec @p1 output,NULL,N'select Cash_Accounts.ACCOUNT_TYPE from Cash_Accounts where Cash_Accounts.CASH_ACCOUNT_CODE = ''AMERICAN E''' select @p1 go declare @p1 int set @p1=148 exec sp_prepexec @p1 output,NULL,N'select Trans.INVOICE_REFERENCE_NUM,Trans.POSTED,Trans.AMOUNT from Trans where Trans.TRANSACTION_TYPE = ''TR'' and (Trans.JOURNAL_TYPE = ''IN'' OR Trans.JOURNAL_TYPE = ''PAY'') and Trans.TRANS_NUMBER = 971934 and Trans.INVOICE_REFERENCE_NUM <> 0' select @p1 go declare @p1 int set @p1=149 exec sp_prepexec @p1 output,NULL,N'update Subscriptions set PAYMENT_AMOUNT = PAYMENT_AMOUNT + 158.00, LTD_PAYMENTS = LTD_PAYMENTS + 158.00, ADJUSTMENT_AMOUNT = ADJUSTMENT_AMOUNT + 0.00 , PAYMENT_DATE =''20150615 '', LAST_UPDATED = ''20150616 09:54:39'', UPDATED_BY = ''BSCHILKE'' ,BALANCE = (PREVIOUS_BALANCE + BILL_AMOUNT- PAYMENT_AMOUNT- 158.00 - ADJUSTMENT_AMOUNT - 0.00) * (sign(1+sign(PREVIOUS_BALANCE + BILL_AMOUNT- PAYMENT_AMOUNT- 158.00 - ADJUSTMENT_AMOUNT - 0.00)) ) ,COPIES = 1.0000, COPIES_PAID = 1.0000 ,PAID_THRU =''20160630 '', LAST_PAID_THRU =''20160630 '' , SOURCE_CODE=''SC'' ,CONTINUOUS_SINCE = isnull(CONTINUOUS_SINCE,convert(datetime,''20150701 '')) where ID = ''01051232'' and PRODUCT_CODE = ''PC_CN'' insert into Activity ( SEQN, ID,ACTIVITY_TYPE, PRODUCT_CODE, OTHER_CODE, TRANSACTION_DATE, TICKLER_DATE, DESCRIPTION, EFFECTIVE_DATE, THRU_DATE,ACTION_CODES, AMOUNT, SOURCE_CODE, SOURCE_SYSTEM, QUANTITY,CO_ID,MEMBER_TYPE, ORIGINATING_TRANS_NUM, ORG_CODE, CAMPAIGN_CODE,OTHER_ID,SOLICITOR_ID,Activity.TAXABLE_VALUE ,PAY_METHOD,Activity.CATEGORY ) select 12312274, ''01051232'', ''DUES'', ''PC_CN'', ''DUES'', ''20150615 '',NULL, ''Annual Subscription Renewal'', ''20150701 '', ''20160630 '',''A'', 158.00, ''SC'', ''DUES'', 1.0000, ( CASE n.COMPANY_RECORD WHEN 1 then n.ID WHEN 0 then n.CO_ID END ), n.MEMBER_TYPE, 971934, ''UCC'','''', ''01051232'', '''', 0.00 ,''AMERICAN E'','''' from Name n where n.ID = ''01051232'' update Trans set BATCH_NUM=''150615I'',OWNER_ORG_CODE=''UCC'',SOURCE_SYSTEM=''DUES'', JOURNAL_TYPE=''PAY'',TRANSACTION_TYPE=''DIST'',TRANSACTION_DATE=''20150615 '', BT_ID=''01051232'',ST_ID=''01051232'',INVOICE_REFERENCE_NUM=0, DESCRIPTION=''Annual Subscription Renewal'',CUSTOMER_NAME='''', CUSTOMER_REFERENCE='''',REFERENCE_1=''Inv# R0'', SOURCE_CODE=''SC'',PRODUCT_CODE=''PC_CN'',EFFECTIVE_DATE=''20150701 '',PAID_THRU=''20160630 '', MONTHS_PAID=12,FISCAL_PERIOD=201506,DEFERRAL_MONTHS=0, AMOUNT=-158.00,ADJUSTMENT_AMOUNT=0.00,PSEUDO_ACCOUNT=''UCC-DUES-PC_CN'', GL_ACCT_ORG_CODE=''UCC'',GL_ACCOUNT=''4250-303939314615'',DEFERRED_GL_ACCOUNT=''2181-30 99 999 99999'', INVOICE_CHARGES=0.00,INVOICE_CREDITS=0.00,QUANTITY=1.0000, UNIT_PRICE=0.00,PAYMENT_TYPE='''', CHECK_NUMBER='''',CC_NUMBER='''',CC_EXPIRE='''', CC_AUTHORIZE='''',CC_NAME='''', ISSUE_DATE='''',ISSUE_NUMBER='''',ENCRYPT_CSC='''',GATEWAY_REF='''', TERMS_CODE='''',ACTIVITY_SEQN=12312274, IS_FR_ITEM=0,CAMPAIGN_CODE='''', PROD_TYPE=''DUES'',ACTIVITY_TYPE=''DUES'',ACTION_CODES= ''A'', POSTED=2, TICKLER_DATE=NULL,DATE_ENTERED=''20150615 '',ENTERED_BY=''01051232'', INSTALL_BILL_DATE=NULL, TAXABLE_VALUE=0.00,SOLICITOR_ID='''', Trans.MERGE_CODE = '''', Trans.SALUTATION_CODE = '''', Trans.SENDER_CODE = '''', Trans.IS_MATCH_GIFT = 0, Trans.MATCH_GIFT_TRANS_NUM = 0, Trans.MATCH_ACTIVITY_SEQN = 0, Trans.MEM_TRIB_ID = '''', Trans.MEM_TRIB_NAME_TEXT='''', Trans.RECEIPT_ID= 0, Trans.DO_NOT_RECEIPT= 0 , ENCRYPT_CC_NUMBER='''',ENCRYPT_CC_EXPIRE='''' , FR_ACTIVITY='''',FR_ACTIVITY_SEQN=0 where TRANS_NUMBER=971934 and LINE_NUMBER=1 and SUB_LINE_NUMBER= 1 update Trans set BATCH_NUM=''150615I'',OWNER_ORG_CODE=''UCC'',SOURCE_SYSTEM=''DUES'', JOURNAL_TYPE=''PAY'',TRANSACTION_TYPE=''PAY'',TRANSACTION_DATE=''20150615 '', BT_ID=''01051232'',ST_ID=''01051232'',INVOICE_REFERENCE_NUM=0, DESCRIPTION=''Ref Code: A10A7F225D34 ; Auth Code: 177PNI'',CUSTOMER_NAME='''', CUSTOMER_REFERENCE='''',REFERENCE_1='''', SOURCE_CODE=''SC'',PRODUCT_CODE='''',EFFECTIVE_DATE=NULL,PAID_THRU=NULL, MONTHS_PAID=0,FISCAL_PERIOD=201506,DEFERRAL_MONTHS=0, AMOUNT=158.00,ADJUSTMENT_AMOUNT=0.00,PSEUDO_ACCOUNT=''UCC-DUES-PAY'', GL_ACCT_ORG_CODE=''UCC'',GL_ACCOUNT=''1020-30 99 999 99999'',DEFERRED_GL_ACCOUNT='''', INVOICE_CHARGES=0.00,INVOICE_CREDITS=0.00,QUANTITY=0.0000, UNIT_PRICE=0.00,PAYMENT_TYPE='''', CHECK_NUMBER=''AMERICAN E'',CC_NUMBER=''************1111'',CC_EXPIRE=''*****'', CC_AUTHORIZE='''',CC_NAME='''', ISSUE_DATE='''',ISSUE_NUMBER='''',ENCRYPT_CSC='''',GATEWAY_REF='''', TERMS_CODE='''',ACTIVITY_SEQN=0, IS_FR_ITEM=0,CAMPAIGN_CODE='''', PROD_TYPE='''',ACTIVITY_TYPE='''',ACTION_CODES= '''', POSTED=2, TICKLER_DATE=NULL,DATE_ENTERED=''20150615 '',ENTERED_BY=''01051232'', INSTALL_BILL_DATE=NULL, TAXABLE_VALUE=0.00,SOLICITOR_ID='''', Trans.MERGE_CODE = '''', Trans.SALUTATION_CODE = '''', Trans.SENDER_CODE = '''', Trans.IS_MATCH_GIFT = 0, Trans.MATCH_GIFT_TRANS_NUM = 0, Trans.MATCH_ACTIVITY_SEQN = 0, Trans.MEM_TRIB_ID = '''', Trans.MEM_TRIB_NAME_TEXT='''', Trans.RECEIPT_ID= 0, Trans.DO_NOT_RECEIPT= 0 , Trans.CC_STATUS = ''C'' , ENCRYPT_CC_NUMBER='''',ENCRYPT_CC_EXPIRE='''' , FR_ACTIVITY='''',FR_ACTIVITY_SEQN=0 where TRANS_NUMBER=971934 and LINE_NUMBER=2 and SUB_LINE_NUMBER= 1' select @p1 go "

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 SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html