Save & Share

  • Current Version: 1
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
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]
  • Character class intersection
    [\w&&[^\d]]
  • 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
Processing...

Test String

Substitution
Processing...

Code Generator

Generated Code

import re regex = re.compile(r"^(?:A(?:C(?:WS|[DS])?T|DT|E[DS]?T|FT|K[DS]T|LMT|M[S]?T|NAS?T|QTT|RT|ST|W[DS]T|Z(?:OS|[OS])?T|oE|T)|B(?:RS|[NORST])T|C(?:AS|ES|H(?:A[DS]|OS|[OU])|ID?S|LS|hS|[ACDEKLOSVX])?T|D(?:AV|DU)T|E(?:ASS?|ES|GS|[ACDEGS])?T|F(?:JS|KS|[EJKN])T|G(?:A[LM]|IL|[EFMSY])T|H(?:OVS?|[DKS])T|I(?:R(?:KS|[DKS])|[CDOS])T|JST|K(?:OS|RAS?|UY|[GS])T|L(?:H[DS]|IN)T|M(?:A(?:GS|[GRW])T|DT|HT|MT|S[DKT]|UT|VT|YT|T)|N(?:FD|OVS?|Z[DS]|[CDFPRSU])T|O(?:MSS?|RA)T|P(?:ETS?|HO|M[DS]|ON|YS|[DEGHKSWY])?T|QYZT|R(?:OT|E)T|S(?:A[KMS]|RE|YO|[BCGRS])T|T(?:AH|OS|[FJKLMORV])T|U(?:LAS?T|TC|YS?T|ZT)|V(?:LAS?|OS|[EU])T|W(?:A(?:RS|[KS])?T|ES?T|FT|GS?T|I(?:TA|[BT])|ST|T)|Y(?:A(?:KS|[KP])|EKS?)T|[ABCDEFGHIKLMNOPQRSTUVWXYZ])$", flags=re.MULTILINE) test_str = ("A\n" "ACDT\n" "ACST\n" "ACT\n" "ACT\n" "ACWST\n" "ADT\n" "ADT\n" "AEDT\n" "AEST\n" "AET\n" "AFT\n" "AKDT\n" "AKST\n" "ALMT\n" "AMST\n" "AMST\n" "AMT\n" "AMT\n" "ANAST\n" "ANAT\n" "AQTT\n" "ART\n" "AST\n" "AST\n" "AT\n" "AWDT\n" "AWST\n" "AZOST\n" "AZOT\n" "AZST\n" "AZT\n" "AoE\n" "B\n" "BNT\n" "BOT\n" "BRST\n" "BRT\n" "BST\n" "BST\n" "BST\n" "BTT\n" "C\n" "CAST\n" "CAT\n" "CCT\n" "CDT\n" "CDT\n" "CEST\n" "CET\n" "CHADT\n" "CHAST\n" "CHOST\n" "CHOT\n" "CHUT\n" "CIDST\n" "CIST\n" "CKT\n" "CLST\n" "CLT\n" "COT\n" "CST\n" "CST\n" "CST\n" "CT\n" "CVT\n" "CXT\n" "ChST\n" "D\n" "DAVT\n" "DDUT\n" "E\n" "EASST\n" "EAST\n" "EAT\n" "ECT\n" "EDT\n" "EEST\n" "EET\n" "EGST\n" "EGT\n" "EST\n" "ET\n" "F\n" "FET\n" "FJST\n" "FJT\n" "FKST\n" "FKT\n" "FNT\n" "G\n" "GALT\n" "GAMT\n" "GET\n" "GFT\n" "GILT\n" "GMT\n" "GST\n" "GST\n" "GYT\n" "H\n" "HDT\n" "HKT\n" "HOVST\n" "HOVT\n" "HST\n" "I\n" "ICT\n" "IDT\n" "IOT\n" "IRDT\n" "IRKST\n" "IRKT\n" "IRST\n" "IST\n" "IST\n" "IST\n" "JST\n" "K\n" "KGT\n" "KOST\n" "KRAST\n" "KRAT\n" "KST\n" "KUYT\n" "L\n" "LHDT\n" "LHST\n" "LINT\n" "M\n" "MAGST\n" "MAGT\n" "MART\n" "MAWT\n" "MDT\n" "MHT\n" "MMT\n" "MSD\n" "MSK\n" "MST\n" "MT\n" "MUT\n" "MVT\n" "MYT\n" "N\n" "NCT\n" "NDT\n" "NFDT\n" "NFT\n" "NOVST\n" "NOVT\n" "NPT\n" "NRT\n" "NST\n" "NUT\n" "NZDT\n" "NZST\n" "O\n" "OMSST\n" "OMST\n" "ORAT\n" "P\n" "PDT\n" "PET\n" "PETST\n" "PETT\n" "PGT\n" "PHOT\n" "PHT\n" "PKT\n" "PMDT\n" "PMST\n" "PONT\n" "PST\n" "PST\n" "PT\n" "PWT\n" "PYST\n" "PYT\n" "PYT\n" "Q\n" "QYZT\n" "R\n" "RET\n" "ROTT\n" "S\n" "SAKT\n" "SAMT\n" "SAST\n" "SBT\n" "SCT\n" "SGT\n" "SRET\n" "SRT\n" "SST\n" "SYOT\n" "T\n" "TAHT\n" "TFT\n" "TJT\n" "TKT\n" "TLT\n" "TMT\n" "TOST\n" "TOT\n" "TRT\n" "TVT\n" "U\n" "ULAST\n" "ULAT\n" "UTC\n" "UYST\n" "UYT\n" "UZT\n" "V\n" "VET\n" "VLAST\n" "VLAT\n" "VOST\n" "VUT\n" "W\n" "WAKT\n" "WARST\n" "WAST\n" "WAT\n" "WEST\n" "WET\n" "WFT\n" "WGST\n" "WGT\n" "WIB\n" "WIT\n" "WITA\n" "WST\n" "WST\n" "WT\n" "X\n" "Y\n" "YAKST\n" "YAKT\n" "YAPT\n" "YEKST\n" "YEKT\n" "Z") subst = "$1" result = regex.sub(subst, test_str) if result: print(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 Python, please visit: https://docs.python.org/3/library/re.html