Regular Expressions 101

Save & Manage Regex

  • Current Version: 4
  • 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

Substitution
Processing...

Code Generator

Generated Code

import re regex = re.compile(r"<((?!\s*((a)\s+))\w+)(.*?)((?:src|href)\s*=\s*\")((?!\{\{\s*)[^\"]+)\"", flags=re.MULTILINE) test_str = ("@extends('layouts.app')\n\n" "@section('page')\n" " <div class=\"wrapper\">\n" " <h2>إنشاء دفتر جديد</h2>\n\n" " <div class=\"links\">\n" " <p>إنشاء دفتر عن طريق</p>\n" " <a href=\"{{route('fb.login')}}\" class=\"sign-with one\">\n" " <i class=\"fa fa-facebook\"></i> فيسبوك\n" " </a>\n\n" " <a href=\"#\" class=\"sign-with two\">\n" " <img src=\"icons/google-icon.svg\" > جوجل\n" " </a>\n" " </div>\n\n" " <div class=\"or\"><p class=\"or-2\">او</p></div>\n" " <form method=\"POST\" action=\"{{ route('register') }}\" autocomplete=\"off\" >\n" " @csrf\n" " <div class=\"row\">\n\n" " <div class=\"col-12 col-sm-12 col-md-6 col-lg-6\">\n" " <div class=\"input input-2 d-flex\">\n" " <i class=\"fa fa-user\"></i>\n" " <input value=\"{{ old('first_name') }}\" type=\"text\" name=\"first_name\" placeholder=\"الاسم الاول *\" required>\n" " </div>\n" " </div>\n" " <div class=\"col-12 col-sm-12 col-md-6 col-lg-6\">\n" " <div class=\"input input-2 d-flex\">\n" " <i class=\"fa fa-user\"></i>\n" " <input value=\"{{ old('last_name') }}\" type=\"text\" name=\"last_name\" placeholder=\" الاسم الثاني *\" required>\n" " </div>\n" " </div>\n\n" " <div class=\"col-12 col-sm-12 col-md-12 col-lg-12\">\n" " <div class=\"input input-2 d-flex\">\n" " <i class=\"fa fa-envelope\"></i>\n" " <input value=\"{{ old('email') }}\" type=\"email\" name=\"email\" placeholder=\"البريد الاكتروني *\" required>\n" " </div>\n" " </div>\n\n" " <div class=\"col-12 col-sm-12 col-md-6 col-lg-6\">\n" " <div class=\"input input-2 d-flex\">\n" " <i class=\"fa fa-user\"></i>\n" " <input value=\"{{ old('username') }}\" type=\"text\" name=\"username\" placeholder=\"اسم المستخدم *\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"حروف وارقام انجليزي بدون مسافه او نقاط\" id=\"tool\" required>\n" " </div>\n" " </div>\n\n" " <div class=\"col-12 col-sm-12 col-md-6 col-lg-6\">\n" " <div class=\"input input-2 d-flex\">\n" " <i class=\"fa fa-transgender\"></i>\n" " <select name=\"gender\" required>\n" " <option value=\"\" disabled>الجنس</option>\n" " <option @if(old('gender')==='male') selected @endif value=\"male\">ذكر</option>\n" " <option @if(old('gender')==='female') selected @endif value=\"female\">انثى</option>\n" " </select>\n" " </div>\n" " </div>\n\n" " <div class=\"col-12 col-sm-12 col-md-6 col-lg-6\">\n" " <div class=\"input input-2 d-flex\">\n" " <i class=\"fa fa-lock\"></i>\n" " <input type=\"password\" name=\"password\" placeholder=\"كلمه المرور *\" required>\n" " </div>\n" " </div>\n\n" " <div class=\"col-12 col-sm-12 col-md-6 col-lg-6\">\n" " <div class=\"input input-2 d-flex\">\n" " <i class=\"fa fa-lock\"></i>\n" " <input type=\"password\" name=\"password_confirmation\" placeholder=\"تأكيد كلمه المرور *\" required>\n" " </div>\n" " </div>\n\n" " <div class=\"col-12 col-sm-12 col-md-6 col-lg-6\">\n" " <div class=\"input input-2 d-flex\">\n" " <i class=\"fa fa-building\"></i>\n" " <input value=\"{{ old('university') }}\" type=\"text\" name=\"university\" placeholder=\"الجامعه *\" required>\n" " </div>\n" " </div>\n\n" " <div class=\"col-12 col-sm-12 col-md-6 col-lg-6\">\n" " <div class=\"input input-2 d-flex\">\n" " <i class=\"fa fa-graduation-cap\"></i>\n" " <input value=\"{{ old('college') }}\" type=\"text\" name=\"college\" placeholder=\"الكليه *\" required>\n" " </div>\n" " </div>\n" " <div class=\"col-12 col-sm-12 col-md-12 col-lg-12\">\n" " <div class=\"input input-2 d-flex\">\n" " <i class=\"fa fa-globe\"></i>\n" " <select value=\"{{ old('country') }}\" name=\"country\" required>\n" " <option value=\"\" disabled selected>اختر الدوله</option>\n" " <option value=\"AW\">آروبا</option>\n" " <option value=\"AZ\">أذربيجان</option>\n" " <option value=\"AM\">أرمينيا</option>\n" " <option value=\"ES\">أسبانيا</option>\n" " <option value=\"AU\">أستراليا</option>\n" " <option value=\"AF\">أفغانستان</option>\n" " <option value=\"AL\">ألبانيا</option>\n" " <option value=\"DE\">ألمانيا</option>\n" " <option value=\"AG\">أنتيجوا وبربودا</option>\n" " <option value=\"AO\">أنجولا</option>\n" " <option value=\"AI\">أنجويلا</option>\n" " <option value=\"AD\">أندورا</option>\n" " <option value=\"UY\">أورجواي</option>\n" " <option value=\"UZ\">أوزبكستان</option>\n" " <option value=\"UG\">أوغندا</option>\n" " <option value=\"UA\">أوكرانيا</option>\n" " <option value=\"IE\">أيرلندا</option>\n" " <option value=\"IS\">أيسلندا</option>\n" " <option value=\"ET\">اثيوبيا</option>\n" " <option value=\"ER\">اريتريا</option>\n" " <option value=\"EE\">استونيا</option>\n" " <option value=\"AR\">الأرجنتين</option>\n" " <option value=\"JO\">الأردن</option>\n" " <option value=\"EC\">الاكوادور</option>\n" " <option value=\"AE\">الامارات العربية المتحدة</option>\n" " <option value=\"BS\">الباهاما</option>\n" " <option value=\"BH\">البحرين</option>\n" " <option value=\"BR\">البرازيل</option>\n" " <option value=\"PT\">البرتغال</option>\n" " <option value=\"BA\">البوسنة والهرسك</option>\n" " <option value=\"GA\">الجابون</option>\n" " <option value=\"ME\">الجبل الأسود</option>\n" " <option value=\"DZ\">الجزائر</option>\n" " <option value=\"DK\">الدانمرك</option>\n" " <option value=\"CV\">الرأس الأخضر</option>\n" " <option value=\"SV\">السلفادور</option>\n" " <option value=\"SN\">السنغال</option>\n" " <option value=\"SD\">السودان</option>\n" " <option value=\"SE\">السويد</option>\n" " <option value=\"EH\">الصحراء الغربية</option>\n" " <option value=\"SO\">الصومال</option>\n" " <option value=\"CN\">الصين</option>\n" " <option value=\"IQ\">العراق</option>\n" " <option value=\"VA\">الفاتيكان</option>\n" " <option value=\"PH\">الفيلبين</option>\n" " <option value=\"AQ\">القطب الجنوبي</option>\n" " <option value=\"CM\">الكاميرون</option>\n" " <option value=\"CG\">الكونغو - برازافيل</option>\n" " <option value=\"KW\">الكويت</option>\n" " <option value=\"HU\">المجر</option>\n" " <option value=\"IO\">المحيط الهندي البريطاني</option>\n" " <option value=\"MA\">المغرب</option>\n" " <option value=\"TF\">المقاطعات الجنوبية الفرنسية</option>\n" " <option value=\"MX\">المكسيك</option>\n" " <option value=\"SA\">المملكة العربية السعودية</option>\n" " <option value=\"GB\">المملكة المتحدة</option>\n" " <option value=\"NO\">النرويج</option>\n" " <option value=\"AT\">النمسا</option>\n" " <option value=\"NE\">النيجر</option>\n" " <option value=\"IN\">الهند</option>\n" " <option value=\"US\">الولايات المتحدة الأمريكية</option>\n" " <option value=\"JP\">اليابان</option>\n" " <option value=\"YE\">اليمن</option>\n" " <option value=\"GR\">اليونان</option>\n" " <option value=\"ID\">اندونيسيا</option>\n" " <option value=\"IR\">ايران</option>\n" " <option value=\"IT\">ايطاليا</option>\n" " <option value=\"PG\">بابوا غينيا الجديدة</option>\n" " <option value=\"PY\">باراجواي</option>\n" " <option value=\"PK\">باكستان</option>\n" " <option value=\"PW\">بالاو</option>\n" " <option value=\"BW\">بتسوانا</option>\n" " <option value=\"PN\">بتكايرن</option>\n" " <option value=\"BB\">بربادوس</option>\n" " <option value=\"BM\">برمودا</option>\n" " <option value=\"BN\">بروناي</option>\n" " <option value=\"BE\">بلجيكا</option>\n" " <option value=\"BG\">بلغاريا</option>\n" " <option value=\"BZ\">بليز</option>\n" " <option value=\"BD\">بنجلاديش</option>\n" " <option value=\"PA\">بنما</option>\n" " <option value=\"BJ\">بنين</option>\n" " <option value=\"BT\">بوتان</option>\n" " <option value=\"PR\">بورتوريكو</option>\n" " <option value=\"BF\">بوركينا فاسو</option>\n" " <option value=\"BI\">بوروندي</option>\n" " <option value=\"PL\">بولندا</option>\n" " <option value=\"BO\">بوليفيا</option>\n" " <option value=\"PF\">بولينيزيا الفرنسية</option>\n" " <option value=\"PE\">بيرو</option>\n" " <option value=\"TZ\">تانزانيا</option>\n" " <option value=\"TH\">تايلند</option>\n" " <option value=\"TW\">تايوان</option>\n" " <option value=\"TM\">تركمانستان</option>\n" " <option value=\"TR\">تركيا</option>\n" " <option value=\"TT\">ترينيداد وتوباغو</option>\n" " <option value=\"TD\">تشاد</option>\n" " <option value=\"TG\">توجو</option>\n" " <option value=\"TV\">توفالو</option>\n" " <option value=\"TK\">توكيلو</option>\n" " <option value=\"TO\">تونجا</option>\n" " <option value=\"TN\">تونس</option>\n" " <option value=\"TL\">تيمور الشرقية</option>\n" " <option value=\"JM\">جامايكا</option>\n" " <option value=\"GI\">جبل طارق</option>\n" " <option value=\"GD\">جرينادا</option>\n" " <option value=\"GL\">جرينلاند</option>\n" " <option value=\"AX\">جزر أولان</option>\n" " <option value=\"AN\">جزر الأنتيل الهولندية</option>\n" " <option value=\"TC\">جزر الترك وجايكوس</option>\n" " <option value=\"KM\">جزر القمر</option>\n" " <option value=\"KY\">جزر الكايمن</option>\n" " <option value=\"MH\">جزر المارشال</option>\n" " <option value=\"MV\">جزر الملديف</option>\n" " <option value=\"UM\">جزر الولايات المتحدة البعيدة الصغيرة</option>\n" " <option value=\"SB\">جزر سليمان</option>\n" " <option value=\"FO\">جزر فارو</option>\n" " <option value=\"VI\">جزر فرجين الأمريكية</option>\n" " <option value=\"VG\">جزر فرجين البريطانية</option>\n" " <option value=\"FK\">جزر فوكلاند</option>\n" " <option value=\"CK\">جزر كوك</option>\n" " <option value=\"CC\">جزر كوكوس</option>\n" " <option value=\"MP\">جزر ماريانا الشمالية</option>\n" " <option value=\"WF\">جزر والس وفوتونا</option>\n" " <option value=\"CX\">جزيرة الكريسماس</option>\n" " <option value=\"BV\">جزيرة بوفيه</option>\n" " <option value=\"IM\">جزيرة مان</option>\n" " <option value=\"NF\">جزيرة نورفوك</option>\n" " <option value=\"HM\">جزيرة هيرد وماكدونالد</option>\n" " <option value=\"CF\">جمهورية افريقيا الوسطى</option>\n" " <option value=\"CZ\">جمهورية التشيك</option>\n" " <option value=\"DO\">جمهورية الدومينيك</option>\n" " <option value=\"CD\">جمهورية الكونغو الديمقراطية</option>\n" " <option value=\"ZA\">جمهورية جنوب افريقيا</option>\n" " <option value=\"GT\">جواتيمالا</option>\n" " <option value=\"GP\">جوادلوب</option>\n" " <option value=\"GU\">جوام</option>\n" " <option value=\"GE\">جورجيا</option>\n" " <option value=\"GS\">جورجيا الجنوبية وجزر ساندويتش الجنوبية</option>\n" " <option value=\"DJ\">جيبوتي</option>\n" " <option value=\"JE\">جيرسي</option>\n" " <option value=\"DM\">دومينيكا</option>\n" " <option value=\"RW\">رواندا</option>\n" " <option value=\"RU\">روسيا</option>\n" " <option value=\"BY\">روسيا البيضاء</option>\n" " <option value=\"RO\">رومانيا</option>\n" " <option value=\"RE\">روينيون</option>\n" " <option value=\"ZM\">زامبيا</option>\n" " <option value=\"ZW\">زيمبابوي</option>\n" " <option value=\"CI\">ساحل العاج</option>\n" " <option value=\"WS\">ساموا</option>\n" " <option value=\"AS\">ساموا الأمريكية</option>\n" " <option value=\"SM\">سان مارينو</option>\n" " <option value=\"PM\">سانت بيير وميكولون</option>\n" " <option value=\"VC\">سانت فنسنت وغرنادين</option>\n" " <option value=\"KN\">سانت كيتس ونيفيس</option>\n" " <option value=\"LC\">سانت لوسيا</option>\n" " <option value=\"MF\">سانت مارتين</option>\n" " <option value=\"SH\">سانت هيلنا</option>\n" " <option value=\"ST\">ساو تومي وبرينسيبي</option>\n" " <option value=\"LK\">سريلانكا</option>\n" " <option value=\"SJ\">سفالبارد وجان مايان</option>\n" " <option value=\"SK\">سلوفاكيا</option>\n" " <option value=\"SI\">سلوفينيا</option>\n" " <option value=\"SG\">سنغافورة</option>\n" " <option value=\"SZ\">سوازيلاند</option>\n" " <option value=\"SY\">سوريا</option>\n" " <option value=\"SR\">سورينام</option>\n" " <option value=\"CH\">سويسرا</option>\n" " <option value=\"SL\">سيراليون</option>\n" " <option value=\"SC\">سيشل</option>\n" " <option value=\"CL\">شيلي</option>\n" " <option value=\"RS\">صربيا</option>\n" " <option value=\"CS\">صربيا والجبل الأسود</option>\n" " <option value=\"TJ\">طاجكستان</option>\n" " <option value=\"OM\">عمان</option>\n" " <option value=\"GM\">غامبيا</option>\n" " <option value=\"GH\">غانا</option>\n" " <option value=\"GF\">غويانا</option>\n" " <option value=\"GY\">غيانا</option>\n" " <option value=\"GN\">غينيا</option>\n" " <option value=\"GQ\">غينيا الاستوائية</option>\n" " <option value=\"GW\">غينيا بيساو</option>\n" " <option value=\"VU\">فانواتو</option>\n" " <option value=\"FR\">فرنسا</option>\n" " <option value=\"PS\">فلسطين</option>\n" " <option value=\"VE\">فنزويلا</option>\n" " <option value=\"FI\">فنلندا</option>\n" " <option value=\"VN\">فيتنام</option>\n" " <option value=\"FJ\">فيجي</option>\n" " <option value=\"CY\">قبرص</option>\n" " <option value=\"KG\">قرغيزستان</option>\n" " <option value=\"QA\">قطر</option>\n" " <option value=\"KZ\">كازاخستان</option>\n" " <option value=\"NC\">كاليدونيا الجديدة</option>\n" " <option value=\"HR\">كرواتيا</option>\n" " <option value=\"KH\">كمبوديا</option>\n" " <option value=\"CA\">كندا</option>\n" " <option value=\"CU\">كوبا</option>\n" " <option value=\"KR\">كوريا الجنوبية</option>\n" " <option value=\"KP\">كوريا الشمالية</option>\n" " <option value=\"CR\">كوستاريكا</option>\n" " <option value=\"CO\">كولومبيا</option>\n" " <option value=\"KI\">كيريباتي</option>\n" " <option value=\"KE\">كينيا</option>\n" " <option value=\"LV\">لاتفيا</option>\n" " <option value=\"LA\">لاوس</option>\n" " <option value=\"LB\">لبنان</option>\n" " <option value=\"LU\">لوكسمبورج</option>\n" " <option value=\"LY\">ليبيا</option>\n" " <option value=\"LR\">ليبيريا</option>\n" " <option value=\"LT\">ليتوانيا</option>\n" " <option value=\"LI\">ليختنشتاين</option>\n" " <option value=\"LS\">ليسوتو</option>\n" " <option value=\"MQ\">مارتينيك</option>\n" " <option value=\"MO\">ماكاو الصينية</option>\n" " <option value=\"MT\">مالطا</option>\n" " <option value=\"ML\">مالي</option>\n" " <option value=\"MY\">ماليزيا</option>\n" " <option value=\"YT\">مايوت</option>\n" " <option value=\"MG\">مدغشقر</option>\n" " <option value=\"EG\">مصر</option>\n" " <option value=\"MK\">مقدونيا</option>\n" " <option value=\"MW\">ملاوي</option>\n" " <option value=\"ZZ\">منطقة غير معرفة</option>\n" " <option value=\"MN\">منغوليا</option>\n" " <option value=\"MR\">موريتانيا</option>\n" " <option value=\"MU\">موريشيوس</option>\n" " <option value=\"MZ\">موزمبيق</option>\n" " <option value=\"MD\">مولدافيا</option>\n" " <option value=\"MC\">موناكو</option>\n" " <option value=\"MS\">مونتسرات</option>\n" " <option value=\"MM\">ميانمار</option>\n" " <option value=\"FM\">ميكرونيزيا</option>\n" " <option value=\"NA\">ناميبيا</option>\n" " <option value=\"NR\">نورو</option>\n" " <option value=\"NP\">نيبال</option>\n" " <option value=\"NG\">نيجيريا</option>\n" " <option value=\"NI\">نيكاراجوا</option>\n" " <option value=\"NZ\">نيوزيلاندا</option>\n" " <option value=\"NU\">نيوي</option>\n" " <option value=\"HT\">هايتي</option>\n" " <option value=\"HN\">هندوراس</option>\n" " <option value=\"NL\">هولندا</option>\n" " <option value=\"HK\">هونج كونج الصينية</option>\n" " </select>\n" " </div>\n" " </div>\n\n" " <div class=\"col-12 col-sm-12 col-md-12 col-lg-12\">\n" " <label class=\"lab\"> اختر المدة التي تود ان تظهر فيه رسائلك (اختياري)</label>\n" " <div class=\"input input-2 d-flex\">\n" " <i class=\"fa fa-hourglass\"></i>\n" " <select name=\"hide\" required data-toggle=\"tooltip\" data-placement=\"top\" title=\"عند تفعيل هذه الميزه واختيار مده سوف تظل الرسائل التي تتوصل بها مظلله ولن تستطيع قرائتها قبل انقضاء المدة التي اخترتها , بعد تلك المده يمكنك قراءة جميع الرسائل الواردة دفعه واحدة !\" id=\"tool-2\">\n" " <option value=\"\" disabled>اختر المدة</option>\n" " <option @if(old('hide')==0) selected @endif value=\"0\"> لا اريد هذه الميزة </option>\n" " <option @if(old('hide')==1) selected @endif value=\"1\">اسبوع</option>\n" " <option @if(old('hide')==2) selected @endif value=\"2\">اسبوعين</option>\n" " <option @if(old('hide')==3) selected @endif value=\"3\">ثلاثه اسابيع</option>\n" " <option @if(old('hide')==4) selected @endif value=\"4\">شهر</option>\n" " <option @if(old('hide')==5) selected @endif value=\"5\">شهرين</option>\n" " </select>\n" " </div>\n" " </div>\n\n" " <label class=\"container container-2\"> <span class=\"agree\">اوافق على <a href=\"policy.html\" class=\"policy\">سياسه الاستخدام</a></span>\n" " <input type=\"checkbox\" checked=\"checked\" required>\n" " <span class=\"checkmark checkmark-2\"></span>\n" " </label>\n\n" " <div class=\"col-12 col-sm-12 col-md-12 col-lg-12\">\n" " <div class=\"input\" style=\"border: 0\">\n" " <input type=\"submit\" name=\"\" value=\"إنشاء دفتر\" class=\"form-btn\" data-toggle=\"modal\" data-target=\"#exampleModal\">\n" " </div>\n" " </div>\n" " </div>\n" " </form>\n" " </div>\n" "@endsection\n" "@push('js')\n" " <script>\n" " @if($errors->any())\n" " Swal.fire({\n" " icon:\"error\",\n" " title:\"هناك خطأ\",\n" " html:`<ul>@foreach($errors->all() as $er)<li>{{$er}}</li>@endforeach</ul>`\n" " });\n" " @endif\n" " </script>\n" "@endpush\n") subst = "<$1$4$5{{ asset('$6') }}\"" 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