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

/
/

Test String

Code Generator

Generated Code

using System; using System.Text.RegularExpressions; public class Example { public static void Main() { string pattern = @"([-|+]?\d+[.|,]?\d+)"; string input = @"<!DOCTYPE html><html lang=""ru""><head><meta content=""text/html; charset=UTF-8"" http-equiv=""Content-Type"" /> <script type=""text/javascript"">window.NREUM||(NREUM={});NREUM.info={""beacon"":""bam.nr-data.net"",""errorBeacon"":""bam.nr-data.net"",""licenseKey"":""281f4fac73"",""applicationID"":""10607429"",""transactionName"":""cQpeTBYJXQhdEU1HB1oMU1QBFR4NVgcHSQ=="",""queueTime"":0,""applicationTime"":301,""agent"":""js-agent.newrelic.com/nr-768.min.js""}</script> <script type=""text/javascript"">window.NREUM||(NREUM={}),__nr_require=function(e,n,t){function r(t){if(!n[t]){var o=n[t]={exports:{}};e[t][0].call(o.exports,function(n){var o=e[t][1][n];return r(o||n)},o,o.exports)}return n[t].exports}if(""function""==typeof __nr_require)return __nr_require;for(var o=0;o<t.length;o++)r(t[o]);return r}({QJf3ax:[function(e,n){function t(e){function n(n,t,a){e&&e(n,t,a),a||(a={});for(var u=c(n),f=u.length,s=i(a,o,r),p=0;f>p;p++)u[p].apply(s,t);return s}function a(e,n){f[e]=c(e).concat(n)}function c(e){return f[e]||[]}function u(){return t(n)}var f={};return{on:a,emit:n,create:u,listeners:c,_events:f}}function r(){return{}}var o=""nr@context"",i=e(""gos"");n.exports=t()},{gos:""7eSDFh""}],ee:[function(e,n){n.exports=e(""QJf3ax"")},{}],3:[function(e,n){function t(e){return function(){r(e,[(new Date).getTime()].concat(i(arguments)))}}var r=e(""handle""),o=e(1),i=e(2);""undefined""==typeof window.newrelic&&(newrelic=window.NREUM);var a=[""setPageViewName"",""addPageAction"",""setCustomAttribute"",""finished"",""addToTrace"",""inlineHit"",""noticeError""];o(a,function(e,n){window.NREUM[n]=t(""api-""+n)}),n.exports=window.NREUM},{1:12,2:13,handle:""D5DuLP""}],gos:[function(e,n){n.exports=e(""7eSDFh"")},{}],""7eSDFh"":[function(e,n){function t(e,n,t){if(r.call(e,n))return e[n];var o=t();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,n,{value:o,writable:!0,enumerable:!1}),o}catch(i){}return e[n]=o,o}var r=Object.prototype.hasOwnProperty;n.exports=t},{}],D5DuLP:[function(e,n){function t(e,n,t){return r.listeners(e).length?r.emit(e,n,t):void(r.q&&(r.q[e]||(r.q[e]=[]),r.q[e].push(n)))}var r=e(""ee"").create();n.exports=t,t.ee=r,r.q={}},{ee:""QJf3ax""}],handle:[function(e,n){n.exports=e(""D5DuLP"")},{}],XL7HBI:[function(e,n){function t(e){var n=typeof e;return!e||""object""!==n&&""function""!==n?-1:e===window?0:i(e,o,function(){return r++})}var r=1,o=""nr@id"",i=e(""gos"");n.exports=t},{gos:""7eSDFh""}],id:[function(e,n){n.exports=e(""XL7HBI"")},{}],G9z0Bl:[function(e,n){function t(){var e=d.info=NREUM.info,n=f.getElementsByTagName(""script"")[0];if(e&&e.licenseKey&&e.applicationID&&n){c(p,function(n,t){n in e||(e[n]=t)});var t=""https""===s.split("":"")[0]||e.sslForHttp;d.proto=t?""https://"":""http://"",a(""mark"",[""onload"",i()]);var r=f.createElement(""script"");r.src=d.proto+e.agent,n.parentNode.insertBefore(r,n)}}function r(){""complete""===f.readyState&&o()}function o(){a(""mark"",[""domContent"",i()])}function i(){return(new Date).getTime()}var a=e(""handle""),c=e(1),u=window,f=u.document;e(2);var s=(""+location).split(""?"")[0],p={beacon:""bam.nr-data.net"",errorBeacon:""bam.nr-data.net"",agent:""js-agent.newrelic.com/nr-768.min.js""},d=n.exports={offset:i(),origin:s,features:{}};f.addEventListener?(f.addEventListener(""DOMContentLoaded"",o,!1),u.addEventListener(""load"",t,!1)):(f.attachEvent(""onreadystatechange"",r),u.attachEvent(""onload"",t)),a(""mark"",[""firstbyte"",i()])},{1:12,2:3,handle:""D5DuLP""}],loader:[function(e,n){n.exports=e(""G9z0Bl"")},{}],12:[function(e,n){function t(e,n){var t=[],o="",i=0;for(o in e)r.call(e,o)&&(t[i]=n(o,e[o]),i+=1);return t}var r=Object.prototype.hasOwnProperty;n.exports=t},{}],13:[function(e,n){function t(e,n,t){n||(n=0),""undefined""==typeof t&&(t=e?e.length:0);for(var r=-1,o=t-n||0,i=Array(0>o?0:o);++r<o;)i[r]=e[n+r];return i}n.exports=t},{}]},{},[""G9z0Bl""]);</script><meta charset=""UTF-8"" /><meta content=""width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"" name=""viewport"" /><title>Личный кабинет пользователя</title><link rel=""shortcut icon"" type=""image/x-icon"" href=""/assets/favicon-62bdb5ba42228d86b059816362b7715200d1c982c30074eecc6b3f8961e39148.ico"" /><link rel=""stylesheet"" media=""all"" href=""//cdn.platon.ru/arm-lk/main.min.css"" /> <link rel=""stylesheet"" media=""all"" href=""/assets/application-aa8f30cd187c650588ac047d727001a7bcbbc6959adb115fdb9c75ce7fad63c2.css"" /><meta name=""csrf-param"" content=""authenticity_token"" /> <meta name=""csrf-token"" content=""KZNXKW95rnB3VSvtZaByspP/13kX5MR0Gwep3UgDyFT+jf1ue6Q06fugRzTQAdNLpNwGfEewJKxQmwEI6LZf3w=="" /></head><body><div class=""modal fade"" id=""errorModal""><div class=""modal-dialog""><div class=""modal-content""><a class=""modal__close"" data-dismiss=""modal"" href=""#""></a><div class=""modal-header""><h2>Ошибка</h2></div><div class=""modal-body""><p class=""b-text"" data-default-text=""Произошла неизвестная ошибка"" id=""errorModalText""></p></div><table class=""modal-footer""><tbody><tr><td></td><td><a class=""b-link"" data-dismiss=""modal"" href=""#""><i class=""svp svp-close b-link__icon""></i> Ок</a></td></tr></tbody></table></div></div></div><div id=""map_aim"" style=""display: none;""></div><header class=""header""><div class=""header__aside""><div class=""burger""><i class=""burger__icon svp svp-burger""></i></div><div class=""logo""><a href=""/""><img class=""logo__img"" src=""/assets/platon_logo-c25d02f753aa38f481af50ecfe6328668de6bac6f660980f706a555e73469e28.svg"" alt=""Platon logo c25d02f753aa38f481af50ecfe6328668de6bac6f660980f706a555e73469e28"" /></a></div></div><div class=""tabs tabs_header""><a href=""/profile""><div class=""tab tab_type_user""><p class=""tab__title"">Владелец: Электростроймонтаж-96<span class=""tab__value tab__value_size_small"">Дмитрий Борисович С.</span></p><a class=""tab__button"" href=""/sign_out""><i class=""tab__icon svp svp-exit""></i></a></div><a href=""#""><div class=""tab tab_type_balance""><p class=""tab__title"">Баланс всех счетов:<span class=""tab__value balance_counter""><balance>...</balance><i class=""currency""> ₷</i></span></p></div></a></a><div class=""tab_type_notifications__wrap no_unread"" tabindex=""-1""><a class=""tab tab_type_notifications"" data-remote=""true"" href=""/notifications/unread""><p class=""tab__title"">Уведомления:<span class=""tab__value notifications_counter"">...</span></p><p class=""tab__button""><i class=""tab__icon svp svp-att""></i></p></a><div class=""notification notification-container""></div></div><ul class=""tab tab_type_lng lng""><li class=""lng__item lng__item_active""><a class=""lng__link"" href=""/accounts/906630/vehicles?locale=ru""><span class=""svp svp-rus lng__flag""><span class=""path1""></span><span class=""path2""></span><span class=""path3""></span><span class=""path4""></span></span><span class=""lng__arrow""></span><span class=""lng__text"">Русский</span></a></li><li class=""lng__item b-hide""><a class=""lng__link"" href=""/accounts/906630/vehicles?locale=en""><span class=""svp svp-english lng__flag""><span class=""path1""></span><span class=""path2""></span><span class=""path3""></span><span class=""path4""></span><span class=""path5""></span><span class=""path6""></span><span class=""path7""></span><span class=""path8""></span><span class=""path9""></span><span class=""path10""></span><span class=""path11""></span><span class=""path12""></span><span class=""path13""></span><span class=""path14""></span></span><span class=""lng__arrow""></span><span class=""lng__text"">English</span></a></li></ul></div></header><div class=""main""><ul class=""nav""><li class=""nav__item""><a class=""nav__link"" href=""/route_cards""><i class=""nav__icon svp svp-location""></i><span class=""nav__title"">Маршрутные карты</span></a></li><li class=""nav__item""><a class=""nav__link"" href=""/accounts""><i class=""nav__icon svp svp-money""></i><span class=""nav__title"">Платежи</span></a></li><li class=""nav__item""><a class=""nav__link nav__link_active"" href=""/accounts/906630/vehicles""><i class=""nav__icon svp svp-ts""></i><span class=""nav__title"">Транспортные средства</span></a></li><li class=""nav__item""><a class=""nav__link"" href=""/profile""><i class=""nav__icon svp svp-docs""></i><span class=""nav__title"">Профиль</span></a></li><li class=""nav__item""><a class=""nav__link"" href=""/appeals""><i class=""nav__icon svp svp-chat""></i><span class=""nav__title"">Обращения</span></a></li><li class=""nav__item""><a class=""nav__link"" href=""/sign_out""><i class=""nav__icon svp svp-exit""></i><span class=""nav__title"">Выйти</span></a></li></ul><div class=""content__wrap""><div class=""content""><div class=""headline""><h1 class=""headline__title"">Транспортные средства</h1></div><div class=""tab-panel""><div class=""tab-panel__tabs""><a class=""tab-panel__tab active"" href=""#listTs"">Список</a><a class=""tab-panel__tab"" href=""#listTsGroup"">Группы</a><a class=""tab-panel__tab"" href=""#orderDevice"">Заказы устройств</a></div><div class=""tab-panel__container""><div class=""tab-panel__content active"" id=""listTs""><div class=""b-form-block""><div class=""row""><div class=""col-3""><div class=""b-form-group no-edit""><label class=""b-form-group__label"" for=""select-client-account"">Лицевой счет</label><select name=""accounts"" id=""select-client-account"" class=""b-form-group__select"" data-role=""vehicle-account"" onchange=""changeAccount(this.value)""><option selected=""selected"" value=""906630"">101 009 066 305 </option></select><button class=""b-form-group__icon"" type=""button""><i class=""svp svp-arrow_left_q""></i></button></div></div><div class=""col-3""><div class=""b-form-group no-edit""><label class=""b-form-group__label"" for=""select-vehicle-group"">Группа ТС</label><select name=""vehicle_groups"" id=""select-vehicle-group"" class=""b-form-group__select"" data-role=""vehicle-group"" onchange=""vehicleSearch()""><option value=""all"">Все транспортные средства</option> <option value=""without_group"">Транспортные средства без группы</option></select><button class=""b-form-group__icon"" type=""button""><i class=""svp svp-arrow_left_q""></i></button></div></div><div class=""col-3""><div class=""b-form-group""><label class=""b-form-group__label b-form-group__label_with-icon"" for=""search-vehicle"">Найти ТС по ГРЗ</label><input type=""text"" name=""grnz"" id=""search-vehicle"" class=""b-form-group__input b-form-group__input_with-icon"" data-role=""vehicle-grnz"" onkeyup=""vehicleSearch()"" /><button class=""b-form-group__icon"" type=""button""><i class=""svp svp-search""></i></button></div></div><div class=""col-3""><a class=""btn"" href=""/accounts/906630/vehicles/new"">Зарегистрировать ТС</a></div></div></div><div class=""toolbar""><div class=""toolbar__item"" data-visible-id=""1""><p class=""b-link b-text_size_small""><i class=""b-link__icon green svp svp-down_q""></i><span class=""b-link__light"">Верифицировано</span></p></div><div class=""toolbar__item"" data-visible-id=""1""><p class=""b-link b-text_size_small""><i class=""b-link__icon red svp svp-close_q""></i><span class=""b-link__light"">Не верифицировано</span></p></div><div class=""toolbar__item"" data-visible-id=""1""><p class=""b-link b-text_size_small""><i class=""b-link__icon green svp svp-by""></i><span class=""b-link__light"">БУ активно</span></p></div><div class=""toolbar__item"" data-visible-id=""1""><p class=""b-link b-text_size_small""><i class=""b-link__icon red svp svp-broken_by""></i><span class=""b-link__light"">БУ не активно</span></p></div><div class=""toolbar__item"" data-visible-id=""1""><p class=""b-link b-text_size_small""><i class=""b-link__icon gray svp svp-by""></i><span class=""b-link__light"">БУ отсутствует</span></p></div></div><div id=""vehicles""><table class=""b-table""><thead><tr><th>ГРЗ</th><th>Номер и статус БУ</th><th>Группа</th></tr></thead><tbody><tr class=""pointer"" data-link=""/accounts/906630/vehicles/654628""><td><p class=""b-text""><i class=""svp b-link__icon green svp-down_q""></i> K 325 PK 777 RUS</p></td><td><p class=""b-text""><i class=""svp b-link__icon gray svp-by""></i>БУ отсутствует </p></td><td><p class=""b-text"">Не назначена</p></td></tr></tbody></table><div class=""pagination-container t-center""></div><div class=""b-devider""></div></div></div><div class=""tab-panel__content"" id=""listTsGroup""><div class=""b-form-block""><div class=""row""><div class=""col-4""><div class=""b-form-group no-edit""><label class=""b-form-group__label"" for=""vehicle-group-account"">Лицевой счет</label><select name=""accounts"" id=""vehicle-group-account"" class=""b-form-group__select"" data-role=""vehicle-group-account"" onchange=""vehicleGroupSearch()""><option selected=""selected"" value=""906630"">101 009 066 305 </option></select><button class=""b-form-group__icon"" type=""button""><i class=""svp svp-arrow_left_q""></i></button></div></div><div class=""col-5""><div class=""b-form-group""><label class=""b-form-group__label"" for=""search-vehicle-group"">Найти группу по названию, ФИО или телефону менеджера</label><input type=""text"" name=""name"" id=""name"" value="" class=""b-form-group__input"" data-role=""vehicle-group-search-query"" onkeyup=""vehicleGroupSearch()"" /><button class=""b-form-group__icon"" type=""button""><i class=""svp svp-search""></i></button></div></div><div class=""col-3""><a class=""btn"" href=""/accounts/906630/vehicle_groups/new"">Добавить группу</a></div></div></div><div class=""b-devider""></div><p class=""b-text"">Здесь пока ничего нет</p></div><div class=""tab-panel__content"" id=""orderDevice""><div class=""toolbar""><div class=""toolbar__item"" data-visible-id=""1""><a class=""b-link"" href=""/new_device_request/new""><i class=""b-link__icon svp svp-edit""></i>Оформить предзаказ БУ</a></div></div><table class=""b-table b-table_full b-table_middle""><thead><tr><th>Номер заказа:</th><th>Дата заказа:</th><th>Статус заказа:</th><th>Количество БУ:</th><th>Доставка:</th></tr></thead><tr class=""pointer"" data-link=""/device_requests/58498""><td><div class=""b-checkbox b-hide"" data-id=""1"" data-show=""false""><input class=""b-checkbox__input"" id=""checkbox1"" type=""checkbox"" /><label class=""b-checkbox__label"" for=""checkbox1""><i class=""b-checkbox__field""></i></label></div><p class=""b-text b-text_big b-text_inline"">№ 1500058497</p></td><td><p class=""b-text""><i class=""svp svp-caledar""></i> 2015-11-23 15:09</p></td><td><p class=""b-text""> Статус: Оформлено. Изменен: 2015-11-23 15:09.</p></td><td><p class=""b-text""><i class=""svp svp-by""></i> 1</p></td><td><p class=""b-text"">О времени вывоза БУ будет сообщено дополнительно</p></td></tr></table></div></div></div></div></div></div><div class=""clearfix""></div><footer class=""footer""><p class=""footer__help"">Служба поддержки:<span class=""footer__phones""> <a class=""footer__phone"" style=""margin-left: 2.5rem;"" href=""tel:88005500202"">8 (800) 550-02-02</a> <a class=""footer__phone"" href=""tel:74955400202"">+7 (495) 540-02-02</a></span></p><p class=""footer__copy"">©2016 «Платон» Личный кабинет</p><ul class=""footer__menu""><li class=""footer__menu__item""><a class=""footer__menu__link"" href=""http://www.platon.ru/"">Интернет-сайт Платон</a></li></ul><a class=""tutorial-link"" target=""_blank"" href=""http://platon.ru/LK_platon.pdf""><i class=""tutorial-link__icon""></i>Инструкция пользователя</a></footer><div id=""modal_container""></div><div class=""loader""><ul class=""loader__container""><li class=""loader__item""></li><li class=""loader__item""></li><li class=""loader__item""></li><li class=""loader__item""></li><li class=""loader__item""></li></ul></div><script src=""//cdn.platon.ru/arm-lk/main.min.js""></script><script src=""/assets/application-4a22650cd882c51553d188ca381bd78ea33b6f326cc8ccc113e72fd1ab45e43a.js""></script></body></html>"; Match m = Regex.Match(input, pattern); Console.WriteLine("'{0}' found at index {1}", m.Value, m.Index); } }

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 C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx