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
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"[-+ ]?[178]?[а-яa-z ]*\d[а-яa-z ]*\d[а-яa-z ]*\d[а-яa-z ]*\d[а-яa-z ]*\d[а-яa-z ]*\d[а-яa-z ]*\d[а-яa-z]*\d[а-яa-z ]*\d[а-яa-z ]*\d.$", flags=re.MULTILINE) test_str = ("40 : Fubag - DS 35000 DAES, 920 м/час наработки. Цена договорная. Возможен обмен на а/м \"Нива\"-4313. Обращаться по номеру: восемь девятьсот тринадцать 8851696 \n\n" "41 : Пеллеты от производителя(Ель-пихта), фасовка мешки 43кг d-1 находимся в районе д. Старцево/\n" "Дополнительный номер: 4-800-323 \n\n" "42 : Предлагаем укорененные черенки крупнолистной гортензии в ассортименте./\n" "Качественные саженцы с закрытой корневой системой в горшке Р9. Интересные сорта, подтвержденная сортность. Возможна курьерская доставка по Тольятти, а так же доставка по всей России через транспортные компании или почтой/\n" "Подробнее на сайте сады-эдема точка рф \n\n" "43 : ❗️СРОЧНО продам дом❗️/\n" "/\n" "На территории, ограждённой железной оградой, находится дом площадью 45,8 и кирпичная времянка - 42,5. Так же беседка 4*1. Дворик уложен плиткой с небольшим участком земли./\n" "Произведен косметический ремонт. Установлены пластиковые окна. /\n" "Санузел находится как на улице, так и в доме. /\n" "/\n" "❗️ТОРГ❗️реальному покупателю и мебель по договоренности/\n" "/\n" "Все вопросы ТОЛЬКО по телефону +7 961 364-77-06 Таисья \n\n" "44 : Продается комплект оригинальных новых фар на Тайоту Камри 1042 года, тел:+79454655924 \n\n" "45 : ПPОФЕССИОНAЛЬНАЯ СОЛHЦЕЗAЩИТA/\n" " Собственнoе пpoизвoдcтвo жaлюзи и рулонных штoр/\n" " Реaльно НИЗKИE цeны, oгромный выбoр цветoв и фактур ткaни./\n" " /\n" "Рулoнныe каccетныe штopы УHИ 3, УHИ 5./\n" " Изделие крeпится нa рaму окнa , оcтaвляя оконноe пpоcтpaнcтво свoбодным.Элeгантный кopоб скрывает тканевый рулон и механизмы, а направляющие защищают от боковых просветов./\n" " МОНТАЖ БЕЗ СВЕРЛЕНИЯ РАМЫ (на скотч)/\n" " /\n" "Замеры с образцами материалов-БЕСПЛАТНО, Звоните, предварительно рассчитаем стоимость заказа по телефону. /\n" "/\n" "BEPТИКАЛЬНЫE /\n" "ГОPИЗОНTАЛЬHЫЕ/\n" "РУЛОНHЫЕ/\n" "ЗЕБРA/\n" "ДОСТАВКА УСТАНОВКА БЕСПЛАТНО /\n" "ПО ВСЕЙ ЧР./\n" "8к9о5д9и8и9и2и0а1а1и0 \n\n" "46 : Продам резину летнюю в отличном состоянии Pirelli Cinturato P1.Звонить на 8 930 546 4594 \n\n" "47 : Ищем мастера маникюра.График сменный .Оплата 20/20./\n" "509-03-60 \n\n" "48 : трёхкомнатная 89 квартира 05 для 537 русской 44 семьи,92 цокольный этаж(высокий) санузел раздельный . Людмила Николаевна. \n\n" "49 : 89068536571 Костя \n\n" "50 : продам 24000 звонить по номеру +79257500273. \n\n" "51 : Два котика ,окраса вискас /\n" "Котята тяжеловесы от крупных,привитых родителей./\n" "Родились 16.08,котята кушают сами ,корм сухой,мяско ,молочко.лоток знают без погрешностей ./\n" "Очень игривые малыши ,контактные .у котиков разные характеры)/\n" "/\n" "Звонить на этот номер- девятьсоттринадцать,стосемдесят,Сороктри,девяносточетыре,)лучше писать тут в любое время)/\n" "Приезжайте смотреть какие они замечательные)) \n\n" "52 : Спиро-68 руб.Спиротек ультра. Цена-14 руб./шт. Есть респираторы зм 8661,9551,8606, полумаска 5М 7401, маска 5М 3800, фильтра угольные 3049,3046,перчатки рабочие обливные маслобензостойкие.пишите,звоните,узнавайте. \n\n" "53 : Спортивные покрытия. От 190 рублейПроизводитель! Бесплатная доставка! Скачайте прайс лист и выберите то, что нужноУзнать большеtopmat36.ruЯндекс.Директ/\n" "/\n" "/\n" "/\n" "2 / 7/\n" "/\n" "Комбинезон titan centurion nxg super + /\n" "/\n" "Koмбeз для пpиcедaния TIТАN SUРЕR Cеnturion Suit NХG Suреr+ R/S pазмер 66 на катeгopию 200-205кг. cостояние отличноe, без дефeктoв. (узкaя/cpедняя пocтaнoвкa нoг) цeнa нoвoгo 24000, моя цeнa 1500рублeй./\n" "/\n" "TIТAN SUРER Cеnturiоn (цент, центуриoн) - сaмый пoпулярный и самый жecткий из комбинезонов pазрешенных в IРF./\n" "/\n" "Жесткая ткань нового поколения, практически не растягивается в процессе использования. Дополнительную прочность комбезу придают укрепляющие двойные и тройные швы, расположенные в местах наибольшей нагрузки. Материал NХG Suреr+ обеспечивает комбинезону долговечность./\n" "/\n" "Жесткая ткань NХG Suреr+, уникальная конструкция, длинные лямки, широкий вырез, прочные двойные и тройные швы, - вот основа этого костюма. При экстремальном размере и сильной намотке бинтов можно вытянуть из этого костюма до 200 кг прибавки к результату, обычно же 10-80 кг./\n" "/\n" "Несомненным плюсом данного комбеза является его универсальность - можно использовать в становой тяге. В тяге он дает хороший срыв, но дотягивать придется самому. Атлетам, которым тяжело дается именно отрыв, даст отличную возможность тянуть большие веса./\n" "/\n" "Комбез для приседания ТIТАN SUРЕR Сеnturiоn Suit NХG Suреr+ позволяет спортсмену максимально реализовать свой потенциал в приседаниях, а широкие лямки сделают движение более комфортным. \n\n" "54 : Продам хорошую 4-х комнатную квартиру в сталинке, пластиковые окна во всей квартире, квартира под ремонт и он уже начат и идёт по тихоньку, поменяны радиатор и трубы отопления в зале, поменяна электро проводка в зале, наклеены обои в зале, уложен ламинат, /\n" "вопросы задавайте по звонку или встрече, всё расскажу и покажу! Звонить на номер 8девять219ноль26747, Агенствам не беспокоить!!! \n") 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