Skip to content
أداة اختبار Regex
Tools

أداة اختبار Regex

جديد

اختبر التعابير النمطية مع إبراز مباشر للتطابقات ومجموعات الالتقاط ومعاينة الاستبدال.

/ /
0 matches

Match highlight

 

Matches & groups

Replace

 
Regex cheatsheetquick reference
\d \D
digit / non-digit
\w \W
word char / non-word char
\s \S
whitespace / non-whitespace
.
any char (except newline without s flag)
^ $
start / end of string (line with m flag)
\b \B
word boundary / non-boundary
[abc] [^abc]
char set / negated set
[a-z0-9]
char range
a* a+ a?
0+ / 1+ / 0 or 1
a{3} a{2,5} a{2,}
exactly 3 / 2–5 / 2 or more
a*? a+?
lazy (non-greedy) quantifiers
(abc)
capture group → $1
(?<name>abc)
named group → $<name>
(?:abc)
non-capturing group
a|b
alternation (a or b)
\1 \k<name>
backreference
(?=abc) (?!abc)
lookahead / negative lookahead
(?<=abc) (?<!abc)
lookbehind / negative lookbehind
\n \t \r
newline / tab / carriage return
\. \* \\
escaped literal . * \

Runs entirely in your browser. Nothing is uploaded.

اختبر التعبيرات النمطية مباشرةً بمحرك JavaScript الحقيقي

يُبرز هذا مختبر regex المجاني كل مطابقة فور الكتابة، باستخدام محرك JavaScript الأصلي في متصفحك — لذا فإن ما يتطابق هنا هو بالضبط ما سيتطابق في كود الواجهة الأمامية أو Node.js لديك. بدّل أيًّا من الأعلام الستة (g, i, m, s, u, y)، وستُعرض رسالة خطأ المحرك الحقيقية عند إدخال نمط غير صالح بدلًا من الفشل الصامت.

أسفل التمييز المباشر تجد قائمة المطابقات الكاملة — كل مطابقة مع موضعها وجميع مجموعات الالتقاط المُرقَّمة والمُسمَّاة — ولوحة الاستبدال التي تُعاين نتائج الاستبدال بـ $1 و$<name> و$& أثناء الكتابة. حين يعمل النمط بصورة صحيحة، اضغط نسخ كـ JavaScript لنسخ الكود جاهزًا للصقه.

بديل مُركَّز لـ regex101.com وregexr.com

تدعم الأدوات الضخمة مثل regex101.com نكهات PCRE وPython وGolang و.NET إلى جانب JavaScript — وهذا مفيد عند مقارنة المحركات، لكنه أكثر مما تحتاجه عندما تريد فقط تصحيح نمط JS. أما regexr.com فيعرض أنماط المجتمع ويوفر دليل مرجعي، وكلاهما يتطلب التنقل بين علامات تبويب متعددة للانتقال من نتيجة مطابقة إلى معاينة الاستبدال.

يُجيب هذا مختبر regex الإلكتروني على الأسئلة الثلاثة الأهم يوميًا في شاشة واحدة نظيفة: هل يتطابق؟ ماذا التقط؟ وماذا سينتج الاستبدال؟ بدون اختيار نكهة، ولا حساب، ولا رفع ملفات. على خلاف regexpal.com الذي يُظهر التمييز فقط، أو debuggex.com الذي يُركز على المخططات المرئية، تُضيف هذه الأداة استخراج مجموعات الالتقاط لكل مطابقة ومعاينة الاستبدال المباشر مع دعم المراجع الخلفية.

أنماط Regex الشائعة بنقرة واحدة

تُدرج المكتبة المُدمجة أنماطًا مُختبَرة مع نصوص تجريبية واقعية: البريد الإلكتروني، رابط URL، عنوان IPv4، تاريخ ISO، وقت بصيغة 24 ساعة، لون Hex، اسم مسار URL، رقم هاتف دولي، رقم (صحيح/عشري) ووسم HTML. كل نمط يُحمَّل مع أمثلة صالحة وغير صالحة حتى ترى بالضبط حدود النمط.

هي نقاط انطلاق لا قواعد ثابتة — عدّلها في مكانها وشاهد التمييز يتغير فورًا. تتضمن العينات حالات حافة عمدًا (مثل 999.999.1.1 لـ IPv4) لتتعلم ما يرفضه النمط لا ما يقبله فحسب. وهذا أسرع بكثير من نسخ نمط من Stack Overflow والتخمين إن كان يتعامل مع حالاتك الحافة.

مجموعات الالتقاط، والنظرة المتقدمة، وجميع الأعلام الستة — مدعومة بالكامل

يمتلك JavaScript regex الحديث ميزات قوية: المجموعات المُسمَّاة (?<year>\d{4})، lookahead (?=…) وlookbehind (?<=…)، ومحارف Unicode مع العلم u، والمطابقة اللاصقة مع y. هذا المختبر يدعم كل ذلك لأنه هو محرك JavaScript نفسه. تُفصّل لوحة المطابقات كل مجموعة لكل مطابقة حتى يمكن التحقق من منطق الاستخراج بلمحة.

إظهار العلم m هو المفضل: معه، يرتبط ^ و$ بكل سطر في النص التجريبي — الصق ملف سجل وشاهد نمط ^ERROR يُضيء كل سطر إشكالي. بدّل s لتجعل . تُطابق محارف السطر الجديد داخل النصوص متعددة الأسطر بدون حلول بديلة. كل نتيجة تراها هنا هي نفسها التي سينتجها كودك.

تعلم Regex بسرعة أكبر مع الورقة المرجعية المُدمجة

تغطي ورقة Regex المرجعية القابلة للطي الرموز التي ستحتاجها يوميًا — فئات المحارف (\d \w \s)، المراسي (^ $ \b)، محددات الكمية (* + ? {n,m} وأشكالها الكسولة)، المجموعات، التفريع، المراجع الخلفية وجميع أنواع النظرة الأربعة. أبقها مفتوحة أثناء التجربة؛ رؤية تأثير رمز مُبرَّزًا مباشرةً هي أسرع طريقة لترسيخ Regex في الذاكرة.

ابدأ ببساطة: طابق كلمة حرفية، ثم أضف فئة محارف، ثم محدد كمية، ثم مجموعة. خمس دقائق من التغذية الراجعة المباشرة في ملعب regex تُعلّم أكثر من ساعة قراءة جداول بناء الجملة. تعمل على الجوال أيضًا — يتكيف التخطيط مع الشاشات الصغيرة، فيمكنك تصحيح الأنماط على هاتفك بدون تثبيت أي تطبيق.

Frequently asked questions

ما هو مختبر regex؟

مختبر regex هو أداة تفاعلية تكتب فيها تعبيرًا نمطيًا ونصًا تجريبيًا، فتُبرز كل مطابقة فورًا. يعرض هذا المختبر قيم مجموعات الالتقاط — المُرقَّمة والمُسمَّاة — ويدعم الأعلام الستة لـ JavaScript (g, i, m, s, u, y)، ويوفر معاينة استبدال مباشرة مع مراجع خلفية، ومكتبة أنماط شائعة، وورقة مرجعية كاملة. يمكنك تصحيح الأنماط والتحقق منها قبل وضعها في الكود، كل ذلك بدون تثبيت أي شيء أو إنشاء حساب.

كيف يقارن هذا المختبر بـ regex101.com وregexr.com؟

regex101.com وregexr.com ممتازان لكن قد يبدوان كثيفَين — نكهات متعددة، مُصحِّح كامل، اختبارات، أنماط مجتمعية. يُركز هذا المختبر على محرك JavaScript تحديدًا ويُجيب على الأسئلة الثلاثة الأهم يوميًا: هل يتطابق؟ ماذا التقط؟ وماذا سينتج الاستبدال؟ يعمل فورًا، يحفظ عملك محليًا، يعمل كاملًا في متصفحك، ويُشارك الأنماط عبر رابط URL — بدون حساب مطلوب على أي من الطرفين. على خلاف regex101 الذي يدعم PCRE وPython وGolang، يشغّل هذا المختبر محرك JavaScript الأصلي في متصفحك فتكون النتائج دقيقة تمامًا.

هل هذا يختلف عن regexpal.com أو debuggex.com؟

نعم. يوفر Regexpal تمييزًا بسيطًا لكن بدون تفصيل مجموعات الالتقاط وبدون معاينة استبدال. يُضيف Debuggex مخططًا مرئيًا لكنه يفتقر إلى مكتبة الأنماط الشائعة. يُضيف هذا المختبر استخراج مجموعات الالتقاط لكل مطابقة، ولوحة استبدال مباشرة مع دعم المراجع الخلفية $1/$&lt;name&gt;/$&، ومكتبة أنماط مُدمجة مع نصوص تجريبية واقعية — كل ذلك مع تشغيل محرك JavaScript الحقيقي حتى تتطابق النتائج بدقة مع ما ينتجه كودك. كل شيء يعمل دون اتصال بدون رفع أي ملف.

ماذا يعني مصطلح regex؟

regex اختصار لـ 'regular expression' أي 'تعبير نمطي' — سلسلة من المحارف تُعرّف نمط بحث. تُستخدم التعبيرات النمطية للمطابقة والاستخراج والتحقق وعمليات البحث والاستبدال على النصوص في كل لغة برمجة ومحرر نصوص تقريبًا. يعود المصطلح إلى الخمسينيات وعالم الرياضيات ستيفن كول كليني، لكن الاستخدام العملي للتعبيرات النمطية انتشر انتشارًا واسعًا مع لغة Perl في الثمانينيات.

كيف أختبر تعبيرًا نمطيًا في JavaScript؟

في JavaScript لديك عدة خيارات: استخدم regex.test(str) للتحقق بقيمة منطقية true/false، وstr.match(regex) للحصول على النص المُطابَق، وstr.matchAll(regex) لجميع المطابقات مع تفاصيل المجموعات، أو regex.exec(str) للتكرار على المطابقات واحدة في كل مرة. يُشغّل هذا المختبر كل ذلك مباشرةً أثناء الكتابة — وزر "نسخ كـ JavaScript" يُعطيك الكود الدقيق لنمطك جاهزًا للصقه في مشروعك.

ما هي مجموعة الالتقاط في regex؟

الأقواس ( ) تُنشئ مجموعة التقاط تخزّن كل ما تطابق داخلها، ويمكن استرجاعها بـ $1 و$2 وهكذا. المجموعات المُسمَّاة بصيغة (?<name>...) تتيح الإشارة إلى الالتقاطات بالاسم بدلًا من الرقم. مجموعات الالتقاط تتيح استخراج أجزاء من المطابقة — مثل اسم المستخدم والنطاق من عنوان بريد إلكتروني — أو إعادة استخدامها في عمليات الاستبدال. تُدرج لوحة المطابقات في هذا المختبر قيمة كل مجموعة لكل مطابقة، مما يُسهّل التحقق من منطق الاستخراج قبل استخدامه في الإنتاج.

ماذا تعني أعلام regex: g وi وm وs وu وy؟

g (global) تجد جميع المطابقات بدلًا من التوقف عند الأولى؛ i (ignoreCase) تجعل المطابقة غير حساسة لحالة الأحرف؛ m (multiline) تجعل ^ و$ يرتبطان ببداية ونهاية كل سطر بدلًا من النص كله؛ s (dotAll) تجعل النقطة تُطابق محارف السطر الجديد أيضًا؛ u (Unicode) يُفعّل دعم Unicode الكامل وهروب الخصائص مثل \p{Letter}؛ y (sticky) يربط المطابقة بـ lastIndex. جميع الأعلام الستة قابلة للتبديل في هذا المختبر بنقرة واحدة.

هل regex حساس لحالة الأحرف بشكل افتراضي؟

نعم — /hello/ تُطابق 'hello' لكن لا تُطابق 'Hello'. بدّل العلم i (ignoreCase) لجعل النمط يتطابق بغض النظر عن حالة الأحرف. وهذا مصدر شائع للأخطاء في منطق التحقق — على سبيل المثال تعبير regex للبريد الإلكتروني يفشل في مطابقة 'User@Example.COM' لأن العلم i قد نُسي.

ما الفرق بين match وtest وexec في JavaScript؟

test() تُعيد قيمة منطقية — استخدمها عندما تحتاج فقط معرفة إن كان هناك تطابق. match() المستدعاة على النص تُعيد مصفوفة مطابقات أو null. exec() المستدعاة على الـ regex تُعيد مطابقة واحدة مُفصَّلة في كل مرة وتتقدم عبر النص عند ضبط العلم g. matchAll() تُعيد كل المطابقات مع تفاصيل المجموعات الكاملة في استدعاء واحد — وهي عادةً الخيار الصحيح لأعمال الاستخراج. يُشغّل هذا المختبر matchAll داخليًا ويعرض جميع النتائج في لوحة المطابقات.

ما هو lookahead أو lookbehind في regex؟

lookahead (?=...) يتحقق من أن نمطًا يلي الموضع الحالي دون استهلاك المحارف؛ أما negative lookahead (?!...) فيتحقق من العكس. lookbehind (?<=...) و(?<!...) يفعلان الشيء ذاته لما يسبق الموضع. وهي مفيدة لحالات مثل 'طابق رقمًا لا تتبعه علامة نسبة مئوية' أو 'طابق كلمة مسبوقة بعلامة الدولار'. جميع أنواع lookaround الأربعة تعمل في هذا المختبر لأن JavaScript الحديث (V8) يدعمها بالكامل.

هل regex متماثل في جميع لغات البرمجة؟

لا — نكهات regex تختلف اختلافًا كبيرًا. JavaScript وPCRE (المستخدم في PHP وPerl) ووحدة re في Python و.NET وJava وRuby يدعم كل منها بناء جملة وميزات مختلفة. يدعم PCRE محددات كمية possessive ومجموعات atomic غير موجودة في JavaScript؛ يستخدم Python (?P<name>...) للمجموعات المُسمَّاة بدلًا من (?<name>...)؛ يُضيف .NET مجموعات التوازن. يُشغّل هذا المختبر محرك JavaScript/V8 الحقيقي، فتتطابق النتائج تمامًا مع ما سينتجه كود الواجهة الأمامية أو Node.js.

كيف أستخدم regex للبحث والاستبدال في النص؟

في JavaScript، str.replace(/pattern/g, 'replacement') يستبدل كل مطابقة. استخدم $1 أو $<name> في نص الاستبدال لإدراج مجموعات الالتقاط، و$& للمطابقة الكاملة. تُعاين لوحة الاستبدال في هذا المختبر النتيجة مباشرةً أثناء الكتابة، فترى الاستبدال قبل تطبيقه في الكود. يمكنك أيضًا استخدام دالة كوسيطة للاستبدال لإجراء تحويلات أكثر تعقيدًا — مفيد لأشياء كتحويل كل مطابقة إلى أحرف كبيرة.

ماذا تعني \d و\w و\s في regex؟

\d تُطابق أي رقم (0–9)، و\w تُطابق محرف الكلمة (حرف أو رقم أو شرطة سفلية)، و\s تُطابق المسافة البيضاء (مسافة أو تبويب أو سطر جديد). أشكالها بالأحرف الكبيرة \D و\W و\S تُطابق عكسها — كل ما لا تُطابقه \d و\w و\s. الورقة المرجعية المُدمجة تُدرج هذه الرموز وكل رمز شائع آخر مع أمثلة. فئات المحارف هي اللبنات الأساسية لمعظم الأنماط الواقعية.

لماذا يُطابق regex الخاص بي أكثر مما ينبغي (المطابقة الجشعة)؟

محددات الكمية مثل * و+ جشعة بشكل افتراضي — تأخذ أكبر قدر ممكن من النص قبل التراجع. أضف ? لجعلها كسولة (.*?)، مما يجعلها تأخذ أقل قدر ممكن. خيار آخر هو استخدام فئة محارف منفية مثل [^"]* للتوقف عند محدد محدد. الصق نصك في هذا المختبر وسترى الفرق بين المطابقة الجشعة والكسولة مُبرَّزًا جنبًا إلى جنب — وهذه أسرع طريقة لفهم ما يحدث.

هل مختبر regex هذا مجاني، وهل يمكنني مشاركة نمط؟

مجاني، بدون إعلانات، بدون تسجيل. 'نسخ رابط المشاركة' يُرمّز نمطك وأعلامك ونصك التجريبي في الرابط حتى يفتح زميلك ما تراه بالضبط — بدون حساب مطلوب على أي من الطرفين. يُحفظ عملك تلقائيًا محليًا في متصفحك فيكون هناك حين تعود. على خلاف regex101 الذي يتطلب تسجيل دخول لحفظ الأنماط ومشاركتها بشكل دائم، توفر هذه الأداة رابطًا قابلًا للمشاركة فورًا.