Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • 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]
  • 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

Code Generator

Generated Code

import re regex = re.compile(r"^([A-ZА-ЯІ1]*)([\-]*)([A-ZА-ЯІ\-]*)([\d]+)([A-ZА-ЯЁ]*)$", flags=re.MULTILINE) test_str = ("-Г002712\n" "І-ИД063893\n" "1-028174\n" "І-Л014733\n" "1-АП128659\n" "І-СГ146931\n" "1-С041292\n" "1-ВЛ051152\n" "1-КИ069187\n" "І-255127\n" "1-Л008971\n" "ІІ-КГ017758\n" "1-ВЛ007030\n" "1-КИ008285\n" "ДВІДКА\n" "І-КГ030207\n" "ІІІ-КГ009119\n" "1-АП086136\n" "1-АП076840\n" "---------------------\n" "1-АП048613\n" "І-Л078811\n" "1-АП012866\n" "І-ГЮ079869\n" "1-ГЮ060483\n" "1-КИ089568\n" "І-ГЮ079868\n" "І-Л007958\n" "1-АП223168\n" "1-ГЮ060481\n" "І-Г067471\n" "І-Г002616\n" "І-Л015822\n" "1-АП017974\n" "І-С019211\n" "І-С019213\n" "І-А112041\n" "1-КИ160553\n" "1-СГ154098\n" "І-КИ122043\n" "1-СГ178975\n" "1-ГЮ060482\n" "І-ГЮ079867\n" "1-КИ276620\n" "І-КИ234836\n" "І-ЖС029733\n" "І-БВ037801\n" "1-АП006220\n" "1-КИ144887\n" "І-А199461\n" "1-АП027501\n" "І-КИ140357\n" "І-КИ203458\n" "І-ГЮ079745\n" "І-КГ134568\n" "І-ФП121614\n" "1-ТП071258\n" "I-389998\n" "1-КИ099839\n" "1-КИ091910\n" "І-ГЮ079742\n" "1-АП129549\n" "І-ФП121553\n" "І-ГЮ079744\n" "1-ГЮ069409\n" "І-ГЮ060318\n" "1-СГ211384\n" "1-БВ080562\n" "1-334035\n" "1-КИ091886\n" "І-ЖС061642\n" "1-ГЮ069411\n" "І-ГЮ069284\n" "І-ЖС044605\n" "І-ГЮ079937\n" "1-ГЮ069412\n" "І-СГ019424\n" "І-ГЮ079743\n" "1-АП129527\n" "1-А030138\n" "І-ГЮ085115\n" "І-ГЮ065184\n" "І-106389\n" "І-ГЮ071047\n" "1-ГЮ069417\n" "1-ВЛ153623\n" "1-ВЛ162954\n" "І-ГЮ079820\n" "І-ГЮ071044\n" "1-АП062971\n" "І-КГ080596\n" "І-ФП013593\n" "І-ГЮ079816\n" "І-КГ050684\n" "1-ГЮ069416\n" "І-Д111974\n" "І-ГЮ079818\n" "1-АП135540\n" "1-А044099\n" "І-ГЮ079931\n" "І-ГЮ079819\n" "І-ГЮ079870\n" "І-И046068\n" "І-К076601\n" "1-К017444\n" "І-ГЮ060469\n" "І-ГЮ079817\n" "1-ГЮ069413\n" "1-СГ318235\n" "1-А081279\n" "І-КГ080595\n" "1-АП007490\n" "І-К068117\n" "1-СГ046160\n" "І-ГЮ079936\n" "І-ГЮ069285\n" "І-ГЮ069288\n" "І-ГЮ060467\n" "І-ГЮ071046\n" "І-КГ009254\n" "І-ГЮ079938\n" "1-ТП202738\n" "1-ГЮ060485\n" "І-ГЮ069286\n" "І-ГЮ060470\n" "1-КИ052212\n" "1-БВ076190\n" "І-ГЮ060466\n" "І-ГЮ071045\n" "ВИДАДВІДКУ\n" "1-Д050757\n" "І-КГ092791\n" "І-КИ086717\n" "І-ГЮ071048\n" "І-ГЮ071041\n" "СВ-ВВИДА\n" "І-ГЮ069353\n" "1-ГЮ005041\n" "І-Г119501\n" "І-ГЮ060302\n" "1-АП114999\n" "1-ГЮ056591\n" "І-С040269\n" "1-ГЮ070977\n" "І-ГЮ060454\n" "І-ГЮ079772\n" "1-ФП073259\n" "І-ГЮ071043\n" "І-С007205\n" "1-ГЮ016004\n" "І-ФП089676\n" "І-ГЮ071088\n" "І-ГЮ079773\n" "1-ТП028944\n" "1-ГЮ079912\n" "1-ЖД152813\n" "І-ГЮ069354\n" "1-ТП023614\n" "1-ГЮ079769\n" "І-ГЮ069153\n" "І-ГЮ060301\n" "1-Г052053\n" "1-БК070591\n" "1-ГЮ070978\n" "1-АП039899\n" "І-ГЮ069231\n" "І-АП108505\n" "І-ГЮ034983\n" "1-ГЮ079766\n" "І-ГЮ069158\n" "І-ГЮ019806\n" "І-ФП093641\n" "1-АП120402\n" "І-ЖС003551\n" "1-ГЮ079767\n" "І-ГЮ069154\n" "І-ГЮ060452\n" "І-ГЮ069151\n" "1-ГЮ070979\n" "1-КИ178703\n" "І-ГЮ069155\n" "І-ГЮ071039\n" "І-ГЮ071087\n" "І-ГЮ102050\n" "І-ГЮ079774\n" "І-ГЮ060303\n" "І-ЖС076855\n" "І-ГЮ071040\n" "І-ГЮ071091\n" "І-ГЮ079807\n" "1-КИ123065\n" "І-ГЮ071090\n" "1-АП023158\n" "І-ГЮ069356\n" "І-ГЮ071026\n" "І-А112126\n" "І-ГЮ071027\n" "1-КИ082667\n" "І-ГЮ071028\n" "1-ГЮ070976\n" "1-СГ259991\n" "1-СГ018084\n" "1-ГЮ000534\n" "І-ГЮ069165\n" "1-Л030767\n" "1-АП009776Ё\n" "1-СГ318072\n" "1-ГЮ079768\n" "І-ГЮ069357\n" "І-КИ081218\n" "І-ГЮ069229\n" "1-АП084070\n" "1-КИ088576\n" "1-КИ160784\n" "1-АП139778\n" "І-ГЮ079771\n" "І-ГЮ084726\n" "І-ГЮ069355\n" "І-ГЮ069230\n" "І-ГЮ060453\n" "І-Д243229\n" "1-А106171\n" "1-СГ288114\n" "1-ГЮ079911\n" "1-194798\n" "І-ГБ069232\n" "І-ГЮ060300\n" "І-А216767\n" "І-ФП121661\n" "1-ГЮ079770\n" "1-КИ160286\n" "І-ГЮ069233\n" "І-127272\n" "І-ГЮ071024\n" "1-ГЮ):(;!*\n" "1-ВЛ061008\n" "1-ВЛ087708\n" "І-ГЮ060152\n" "І-ФП106803\n" "1-СГ222696\n" "І-ГЮ071025\n" "1-ВЛ137400\n" "І-ФП094019\n" "І-ГЮ071089\n" "І-КГ018790\n" "І-ГЮ056580\n" "І-ГЮ056678\n" "І-ГЮ056579\n" "1-АП085420\n" "1-А090289\n" "І-ГЮ049451\n" "І-ГЮ056453\n" "І-ЖС048402\n" "І-ГЮ056454\n" "І-ГЮ065604\n" "І-ГЮ056672\n" "І-Г072389\n" "І-ГЮ065542\n" "І-ГЮ057937\n" "І-ЖС008451\n" "І-ГЮ065603\n" "І-АП058276\n" "І-АП058513\n" "І-ГЮ065538\n" "1-СГ333556\n" "1-200293\n" "1-ВЛ010179\n" "1-ВЛ050583\n" "ІАП036135\n" "1-КИ069058\n" "І-ГЮ049427\n" "І-ГЮ057921\n" "І-КГ228431\n" "І-ГЮ049355\n" "1-КИ119834\n" "1-ТП121575\n" "І-ГЮ057922\n" "І-Л074336\n" "1-СГ115852\n" "1-ГЮ005018\n" "1-АП086186\n" "1-ГЮ049346\n" "І-ГЮ049455\n" "І-ГЮ057960\n" "1-КИ199276\n" "1-ГЮ049347\n" "1-КИ127680\n" "І-ГЮ056455\n" "1-БК070429\n" "І-ГЮ056578\n" "І-СГ131185\n" "І-ГЮ049315\n" "І-ГЮ049452\n" "І-ГЮ065601\n" "І-ГЮ049454\n" "І-ГЮ056674\n" "І-ЖС042699\n" "079380\n" "1-СГ029058\n" "І-ГЮ057916\n" "І-ГЮ056577\n" "1-СГ142897\n" "1-Д246695\n" "І-КГ019161\n" "1-ВЛ055174\n" "І-ГЮ065510\n" "І-КГ086053\n" "ВИДАДВІДКУПА\n" "1-КИ091821\n" "1-БВ126614\n" "І-КГ037489\n" "І-ЖД327937\n" "І-КИ164491\n" "І-ГЮ049429\n" "І-ГЮ058998\n" "СВІДЦТВВИДА\n" "І-ЖС046868\n" "1-Д246979\n" "І-ГЮ057936\n" "І-СГ204213\n" "ВИДААДВІДКА\n" "І-ЖС\n" "281277\n" "1-Д054608\n" "1Д054608\n" "І-ЖС-\n" "І-ГЮ057917\n" "1-СГ343084\n" "І-ГЮ065508\n" "І-ГЮ057919\n" "І-ГЮ065540\n" "1-ФП067440\n" "1-ТП009545\n" "1-КИ088488\n" "І-ГЮ044602\n" "І-ГЮ065543\n" "І-ГЮ000465\n" "1-ВЛ113896\n" "І-ГЮ056669\n" "І-ФП061321\n" "І-ГЮ049356\n" "1-ТП065154\n" "І-КГ123085\n" "І-ГЮ057906\n" "1-Д237480\n" "І-ГЮ056643\n" "І-ГЮ065506\n" "І-161338\n" "1-ВЛ113896\n" "І-ФП035224\n" "І-КГ008661\n" "І-ГЮ065544\n" "І-172161\n" "І-ФП068803\n" "І-ФП068804\n" "І-ГЮ044604\n" "І-ГЮ065622\n" "І-ФП119401\n" "І-ФП130210\n" "І-СГ220409\n" "І-СГ261707\n" "І-ГЮ049468\n" "І-ГЮ044601\n" "1-КГ092546\n" "094824\n" "І-КГ019211\n" "1-ГЮ056449\n" "1-ГЮ057949\n" "І-ГЮ056641\n" "І-ГЮ070383\n" "І-ГЮ049430\n" "І-КИ018489\n" "І-ГЮ057864\n" "І-ГЮ056670\n" "І-ГЮ057910\n" "1-КИ087569\n" "І-ГЮ065513\n" "І-ГЮ049415\n" "І-ГЮ057984\n" "1-ГЮ056441\n" "І-ГЮ065511\n" "І-СГ204242\n" "І-СГ068915\n" "І-Г004769\n" "І-С074924\n" "1-КИ099876\n" "1-КИ117306\n" "1-ГЮ056448\n" "І-ГЮ049359\n" "1-СГ061130\n" "І-ФП026127\n" "1-ТП015443\n" "І-ГЮ049360\n" "1-СГ080164\n" "І-ГЮ049414\n" "1-СГ343177\n" "І-ГЮ049330\n" "І-ГЮ065621\n" "І-БК141010\n" "1-ГЮ056446\n" "І-ГЮ065512\n" "1-ГЮ007905\n" "1-КИ080324\n" "1-ГЮ056445\n" "І-ГЮ049470\n" "І-КИ146938\n" "І-ГЮ056516\n" "І-ГЮ056452\n" "1-ГЮ049344\n" "І-СГ113157\n" "І-004569\n" "І-252971\n" "1-ВЛ022633\n" "1-КГ087722\n" "1-Д139943\n" "1-КИ085638\n" "І-ГЮ049343\n" "І-КГ030081\n" "І-ГЮ044600\n" "-Л037993\n" "І-ГЮ056639\n" "І-КГ136427\n" "І-КИ234953\n" "І-ГЮ057994\n" "І-ГЮ057995\n" "І-С105260\n" "І-С064864\n" "І-ГЮ057925\n" "І-СГ068947\n" "1-КИ120052\n" "1-Д111322\n" "1-К071634\n" "І-Г013705\n" "І-ГЮ049456\n" "1-Г028963\n" "1-Г0850345\n" "І-ГЮ049460\n" "І-ГЮ049457\n" "1-К011683\n" "І-ГЮ044703\n" "1-Д186995\n" "І-С064945\n" "І-ГЮ057923\n" "І-ГЮ057918\n" "І-ГЮ057985\n" "І-СГ274985\n" "І-ГЮ049434\n" "1-Л040584\n" "1-ТП068259\n" "1-ГЮ272062\n" "І-АП114690\n" "1-Д264500\n" "1-Д054521\n" "І-ФП068327\n" "1-ГЮ049348\n" "1-ФП042384\n" "І-ГЮ049459\n" "І-ЖС088476\n" "1-ГЮ056443\n" "1-Д237471\n" "1-КИ194712\n" "1-КИ008298\n" "І-КГ037328\n" "ІЖС052251\n" "І-ГЮ049337\n" "І-КГ080693\n" "І-ЖД306604\n" "І-ГЮ056684\n" "1-АП186277\n" "І-КИВИДА\n" "І-ГЮ065553\n" "І-ГЮ049340\n" "І-ТП272562\n" "І-ТП279021\n" "1-ТП103104\n" "І-ГЮ049413\n" "1-Л021936\n" "СВІДЦТВВИДА.\n" "1-АП168687\n" "І-346530\n" "І-ГЮ049336\n" "1-Г029053\n" "І-ГЮ057861\n" "067125\n" "І-170879\n" "1-ФП073214\n" "1-ФП062671\n" "ІГ072493\n" "І-ГЮ065551\n" "І-АП114083\n" "І-ГЮ057863\n" "І-ЖС010611\n" "І-ГЮ049462\n" "1-КИ099481\n" "1-Ф11039926\n" "І-АП108768\n" "1-ФП083031\n" "1-АП015832") matches = regex.finditer(test_str) for match_num, match in enumerate(matches, start=1): print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}") for group_num, group in enumerate(match.groups(), start=1): print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")

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