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
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • 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

/
/
img

Test String

Substitution

Processing...

Code Generator

Generated Code

import Foundation let pattern = #"(<[^>]+>)+"# let regex = try! NSRegularExpression(pattern: pattern, options: [.anchorsMatchLines, .caseInsensitive]) let testString = ##""" <p style="font-family: JannaLT-Regular; font-size: 18px; line-height: 1.5; text-align: right; color: rgb(232, 230, 227); --darkreader-inline-color:#ffffff;" data-darkreader-inline-color=""></p><div style="direction: rtl;"><p class=""><b id="mwBw">العمل عن بعد</b>، المعروف كذلك <b id="mwCA">بالعمل من <a href="https://ar.wikipedia.org/wiki/%D9%85%D9%86%D8%B2%D9%84" rel="mw:WikiLink" title="منزل" id="mwCQ" data-ve-attributes="{&quot;rel&quot;:&quot;mw:WikiLink&quot;}">المنزل</a></b> أو <b id="mwCg">العمل عبر الإنترنت</b>، هو تنظيم للعمل يكون فيه الموظف غير مضطر <a rel="mw:WikiLink" href="https://ar.wikipedia.org/wiki/%D8%A7%D9%84%D8%AA%D9%86%D9%82%D9%84_%D9%84%D9%84%D8%B9%D9%85%D9%84?action=edit&amp;redlink=1" title="التنقل للعمل" class="new" typeof="mw:LocalizedAttrs" data-mw-i18n="{&quot;title&quot;:{&quot;lang&quot;:&quot;x-page&quot;,&quot;key&quot;:&quot;red-link-title&quot;,&quot;params&quot;:[&quot;التنقل للعمل&quot;]}}" id="mwCw" data-ve-attributes="{&quot;typeof&quot;:&quot;mw:LocalizedAttrs&quot;,&quot;rel&quot;:&quot;mw:WikiLink&quot;}">للتنقل</a> لمركز العمل، <a href="https://ar.wikipedia.org/wiki/%D9%85%D9%83%D8%AA%D8%A8" rel="mw:WikiLink" title="مكتب" id="mwDA" data-ve-attributes="{&quot;rel&quot;:&quot;mw:WikiLink&quot;}">كالمباني المكتبية</a> أو <a href="https://ar.wikipedia.org/wiki/%D9%85%D8%AA%D8%AC%D8%B1" rel="mw:WikiLink" title="متجر" class="mw-redirect" id="mwDQ" data-ve-attributes="{&quot;rel&quot;:&quot;mw:WikiLink&quot;}">المتاجر</a>. الشخص الذي يعمل عن بعد هو الشخص الذي يعمل بدون عقود طويلة الامد لجهة معينة أو شركة معينة. يعتبر <a href="https://ar.wikipedia.org/wiki/%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA" rel="mw:WikiLink" title="إنترنت" id="mwDg" data-ve-attributes="{&quot;rel&quot;:&quot;mw:WikiLink&quot;}">الإنترنت</a> اليوم أحد أكبر أسواق العمل عن بعد، حيث يستطيع ربط شخصين في قطبى <a href="https://ar.wikipedia.org/wiki/%D8%A7%D9%84%D9%83%D8%B1%D8%A9_%D8%A7%D9%84%D8%A3%D8%B1%D8%B6%D9%8A%D8%A9" rel="mw:WikiLink" title="الكرة الأرضية" class="mw-redirect" id="mwDw" data-ve-attributes="{&quot;rel&quot;:&quot;mw:WikiLink&quot;}">الكرة الأرضية</a> دون التقيد بالزمان والمكان.</p><br><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/PIA23881-MarsPerseveranceRover-PortraitsInPerseverance-20200421.jpg/1920px-PIA23881-MarsPerseveranceRover-PortraitsInPerseverance-20200421.jpg" style="width: 698.019px;"><br>&nbsp;</div><p style="direction: rtl;" class="">قد لا تتبع الاجور في العمل عن بعد النظام التقليدى في الراتب الشهرى مثلا.. ولكن هناك طرق عديدة يتم الاتفاق عليها في العمل مثل حساب الاجر بالساعة أو الاجر اليومى أو الاجر بالمشروع كاملا وهكذا، فهذا الامر راجع للطرفين. ويمكن ان يطلب الشخص الذي يعمل عن بعد دفعة مقدمة أو كل المبلغ مقدمة قبل بدء العمل.. كما يفضل البعض الآخر الدفع على مراحل حتى ينتهى العمل على المشروع، وهناك من يطلب المبلغ بعد انتهائه من المشروع. يلجأ البعض بتوقيع عقود لضمان حقوقهم أثناء العمل عن بعد، إلا أن هناك عدد كبير لا يفضل العمل بعقود ويكتفى بقبول جزء من المبلغ قبل اتمام الشغل وجزء بعد اتمامه.</p><div style="direction: rtl;"><h2 id="المزايا_والعيوب" data-mw-section-id="1">المزايا والعيوب</h2></div><hr><div style="direction: rtl;"><p class=""><span style="font-size: 14px;">بالطبع العاملون عن بعد يتمتعون بحرية كبيرة في اختيار الأعمال التي يقومون بتنفيذها واختيار الأشخاص الذين يعملون معهم بدون التقيد باشخاص معينة. كما ان العمل عن بعد يتيح للعاملون بناء معرض للاعمال خاص بهم من الأعمال التي قاموا بأدائها من قبل. ومع ذلك يعتبر من أهم عيوب العمل عن بعد هو عدم ثبات العمل وبالتالى عدم ثبات الدخل فأحيانا لا يستطيع الشخص العثور على المشروع المناسب لفترة طويلة، أيضا فقدان مزايا التوظيف الدائم من التأمينات والمعاشات والاجازات المدفوعة.</span></p><p></p><ol id="mwHA"><li id="mwHQ">احتياج هذا النوع من العمل واعتماده على وسيلة تقنية غير متوفرة في كل مكان، لذا فان هناك محدودية في إمكانية الاستخدام.</li><li id="mwHg">التوسع في هذا العمل يتطلب تقنية موسعة مما يعني الاعتماد على البنية الأساسية في التجهيزات الأولية، ويتكلف إعدادها مبالغ كبيرة وزمًنا طوي ً لا وتقوم بها غالبا شركات ضخمة أو أجهزة حكومية، ويجب الانتظار في التنفيذ المرحلي حسب الإمكانات المادية أو الزمنية.</li><li id="mwHw">احتياج هذا العمل على تعليم فوق المتوسط، لذا فإن هذا العمل ليس مفتوحا لجميع فئات المجتمع وهناك شروط تعليمية خاصة لمن يمكن أن يمارس هذا العمل.</li><li id="mwHw">ضرورة وجود وسيط تقني، وهو المكان الذي يتقابل فيه طرفا العمل، وقد لا يكون الوسيط متماثلا ومتلائما مع الطرف الآخر.</li><li id="mwHw">عدم إمكانية العمل عن بعد في كل الأعمال الممكنة، وقد يساعد في بعض الأعمال، إلا انه خاص بالأعمال النظرية والتي يمكن تنفيذها وانتقال موادها إلكترونيا، وغير مناسب للأعمال العضلية والجسدية.</li><li id="mwHw">هذا النوع من العمل يعتبر خروجا عن التقاليد السابقة في أنظمة العمل والأجور لحداثة الفكرة وحداثة استخدام وسيط العمل، فيفتقد إلى الكثير من التشريعات التنظيمية والقانونية لتحديد الأجور والعلاقات والارتباطات بين الموظف وصاحب العمل.</li></ol><p></p><p></p> <blockquote class="">أحيانا يضطر العاملون عن بعد للعمل ساعات زائدة لتنفيذ العمل المطلوب دون الحصول على مقابل لهذه الزيادة في الساعات فلا يوجد مقياس محدد.</blockquote></div> """## let stringRange = NSRange(location: 0, length: testString.utf16.count) let substitutionString = #" "# let result = regex.stringByReplacingMatches(in: testString, range: stringRange, withTemplate: substitutionString) 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 Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression