فحص واختبار التعبيرات النمطية

اختبار التعبيرات النمطية عبر الإنترنت. تحليل المطابقات وتصحيح الأخطاء وإنشاء أنماط فعالة للبحث في البيانات.

اختبار التعبير النمطي

نتيجة التعبير النمطي

المطابقات

لم يتم العثور على مطابقات

الباقي

لا يوجد محتوى غير مطابق

ميزات أداة "اختبار التعبيرات النمطية"

اختبار التعبيرات العادية

يتيح فحص أنماط RegExp في الوقت الفعلي، مما يبسط تطوير وتصحيح أنماط البحث المعقدة.

دعم علامات ومُعدِّلات مختلفة

يتيح مراعاة حساسية الأحرف، والبحث العالمي، ووضع الأسطر المتعددة، والإعدادات الأخرى المستخدمة في لغات البرمجة.

إنشاء قوالب لتحليل البيانات

يتيح إنشاء تعبيرات بسرعة للمعالجة التلقائية لمصفوفات النص الكبيرة والسجلات وكود HTML.

دليل الاستخدام والتفاصيل

ما هي التعابير النمطية (Regex)

التعابير النمطية (Regex) هي لغة مطابقة أنماط تُستخدم للبحث عن النصوص والتحقق منها ومعالجتها.

باستخدام regex يمكنك:

  • العثور على أجزاء محددة من النص (مثل البريد الإلكتروني، الروابط، الأرقام)

  • التحقق من تنسيقات البيانات (التحقق من النماذج)

  • استبدال النصوص وتنظيفها

  • استخراج بيانات منظمة من السلاسل النصية

تُستخدم Regex على نطاق واسع في البرمجة، وتحليل البيانات، وSEO، وأتمتة المهام.

ماذا يفعل أداة “Regex Tester”

تتيح لك هذه الأداة اختبار التعابير النمطية في الوقت الفعلي ورؤية النتائج فورًا.

يمكنك استخدامها من أجل:

  • التحقق مما إذا كانت سلسلة نصية تطابق نمطًا معينًا

  • عرض جميع التطابقات داخل النص

  • تصحيح الأخطاء في التعابير المعقدة

  • اختبار صيغ مختلفة من regex دون كتابة كود

أشهر محركات Regex واختلافاتها

التعابير النمطية ليست موحّدة بالكامل. دعم الصيغة يعتمد على لغة البرمجة والمحرك المستخدم.

المحرك

الاستخدام

الخصائص

JavaScript (ECMAScript)

المتصفحات، Node.js

دعم محدود لـ lookbehind (حسب الإصدار)

PCRE

PHP، العديد من الأدوات

أحد أقوى المحركات

Python (re)

Python

يفتقد بعض ميزات PCRE

Java (Pattern)

Java

صياغة صارمة

.NET

C#

إمكانيات متقدمة

احرص دائمًا على اختبار regex في البيئة المستهدفة. انتبه لاختلافات دعم lookbehind وUnicode. وللتوافق عبر الأنظمة، يُفضَّل استخدام أنماط أبسط.

أعلام (Flags) التعابير النمطية

الأعلام هي معاملات تغيّر طريقة معالجة النمط. تسمح بالتحكم في حالة الأحرف، ونطاق البحث، وطريقة تفسير الرموز.

العلم

المعنى

i

تجاهل حالة الأحرف

g

بحث شامل (Global)

m

وضع متعدد الأسطر

s

dotall (يشمل \n في .)

u

Unicode

الرموز الخاصة في Regex

نوع

الرمز

الوصف

نقاط الارتكاز

^

بداية السلسلة

نقاط الارتكاز

$

نهاية السلسلة

نقاط الارتكاز

\b

حد الكلمة

نقاط الارتكاز

\B

ليس حد كلمة

الرموز الوصفية

.

يطابق أي محرف عدا السطر الجديد (\n)

الرموز الوصفية

|

عامل OR

الرموز الوصفية

\

محرف الهروب

القيم النصية

a

الحرف “a”

القيم النصية

ab

السلسلة “ab”

المحددات الكمية

*

0 أو أكثر من التكرارات

المحددات الكمية

?

0 أو 1

المحددات الكمية

+

1 أو أكثر

المحددات الكمية

{5}

بالضبط 5

المحددات الكمية

{5,}

5 أو أكثر

المحددات الكمية

{5,10}

من 5 إلى 10

فئات المحارف

\s

محرف مسافة

فئات المحارف

\S

محرف غير مسافة

فئات المحارف

\w

محرف كلمة (حروف/أرقام/_)

فئات المحارف

\W

محرف غير كلمة

فئات المحارف

\d

رقم

فئات المحارف

\D

غير رقم

تسلسلات الهروب

[\b]

Backspace

تسلسلات الهروب

\c

محرف تحكم

تسلسلات الهروب

\n

سطر جديد

تسلسلات الهروب

\t

تبويب

تسلسلات الهروب

\r

عودة المؤشر

تسلسلات الهروب

\ZZZ

محرف ثماني

تسلسلات الهروب

\xZZ

محرف سداسي عشري

تسلسلات الهروب

\0

محرف فارغ

تسلسلات الهروب

\v

تبويب عمودي

المجموعات

(xyz)

مجموعة ملتقطة

المجموعات

(?:xyz)

مجموعة غير ملتقطة

المجموعات والنطاقات

[xyz]

أي من x أو y أو z

المجموعات والنطاقات

[^xyz]

ليس x أو y أو z

المجموعات والنطاقات

[a-q]

من a إلى q

المجموعات والنطاقات

[0-7]

من 0 إلى 7

أنماط الاستبدال

$`

النص قبل التطابق

أنماط الاستبدال

$'

النص بعد التطابق

أنماط الاستبدال

$+

آخر مجموعة ملتقطة

أنماط الاستبدال

$&

كامل التطابق

أنماط الاستبدال

$n

المجموعة رقم n

Lookaround

(?=xyz)

تحقق أمامي إيجابي

Lookaround

(?!xyz)

تحقق أمامي سلبي

Lookaround

(?<=xyz)

تحقق خلفي إيجابي

Lookaround

(?<!xyz)

تحقق خلفي سلبي

التعليقات

(?#comment)

تعليق (يتجاهله المحرك)

أنماط Regex شائعة الاستخدام

المهمة

Regex

أرقام فقط

^\d+$

أحرف لاتينية فقط

^[A-Za-z]+$

تاريخ (DD.MM.YYYY)

\d{2}\.\d{2}\.\d{4}

نطاق

^[a-z0-9.-]+\.[a-z]{2,}$

URL

https?:\/\/[^\s]+

Slug

^[a-z0-9-]+$

بريد إلكتروني (بسيط)

^[^\s@]+@[^\s@]+\.[^\s@]+$

بريد إلكتروني (صارم)

^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$

هاتف (عام)

^\+?\d{7,15}$

وسوم HTML

<[^>]+>

كلمة مرور قوية

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{12,}$

UUID

^[0-9a-fA-F-]{36}$

لون HEX

^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$

IP (IPv4)

^(\d{1,3}\.){3}\d{1,3}$

MAC Address

^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$

الأخطاء الشائعة في Regex

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

أخطاء الصياغة والمنطق

  • نسيان الهروب: النقطة . تطابق أي محرف → استخدم \.

  • استخدام غير صحيح للكمّيات: *, +, {} تطبق على العنصر السابق فقط

  • الخلط بين greedy وlazy: .* جشع → استخدم .*? للمطابقة الدنيا

مشاكل مطابقة النص

  • غياب ^ و $: قد يحدث التطابق في أي مكان داخل النص

  • حساسية حالة الأحرف: "Test" ≠ "test" → استخدم العلم i

  • سوء فهم المسافات: \s يشمل تبويبات وأسطر جديدة، وليس فقط الفراغ

أخطاء عملية

  • استخدام \w مع Unicode: غالبًا = [A-Za-z0-9_] فقط

  • تحليل HTML أو JSON باستخدام regex: غير موثوق → استخدم parsers

  • تعابير معقدة جدًا: صعبة الصيانة والتصحيح

مشاكل الأداء

  • الكمّيات المتداخلة: مثل (.*)+ قد تسبب backtracking كارثي

  • الأنماط غير المحدودة: .* قد تبطئ الأداء مع النصوص الكبيرة

وصف الأداة

alien

يرجى ملاحظة أن التعبيرات العادية في هذه الأداة تُعالج وفقاً لمعيار ECMAScript (JavaScript RegExp). هذا يعني أن سلوك الأنماط يتوافق مع كيفية عملها في المتصفح أو في كود JavaScript. بعض التراكيب، مثل تجاهل الأحرف (/ و /)، قد تتصرف بنفس الطريقة، حتى لو بدت مختلفة. إذا كنت معتاداً على التعبيرات العادية في لغات أخرى (مثل Python، PHP، .NET أو POSIX)، لاحظ أنها قد تحتوي على اختلافات في البناء ومنطق المطابقة.

هذه الأداة تتيح اختبار التعبيرات العادية (RegEx) وفحص تشغيلها. RegEx يُستخدم على نطاق واسع في البرمجة ومعالجة البيانات وتحليلات السيو.

معها، يمكنك البحث والاستبدال وتحليل أنماط النص، مما يبسط العمل مع كميات كبيرة من البيانات.

الأسئلة المتداولة (FAQ)

التعبيرات النمطية (regex) هي أدوات قوية لمطابقة الأنماط للبحث والتحقق والتلاعب بالنص. وهي ضرورية للتحقق من صحة البيانات وعمليات البحث ومهام معالجة النصوص.

يسمح لك أداة اختبار التعبيرات النمطية بإدخال الأنماط وسلاسل الاختبار لرؤية التطابقات في الوقت الفعلي. يمكنك تجربة أنماط مختلفة ورؤية الأجزاء التي تتطابق مع التعبير في النص الخاص بك.

تشمل الأنماط الشائعة التحقق من صحة البريد الإلكتروني وأرقام الهواتف والتواريخ وعناوين URL والرموز البريدية. تعرف على الأحرف الوصفية الأساسية مثل . و * و + و ؟ و ^ و $ وفئات الأحرف مثل \d و \w و \s.

تشمل الأعلام الشائعة الاستخدام i (تجاهل حالة الأحرف)، و g (بحث عام)، و m (وضع متعدد الأسطر)، و u (دعم يونيكود). تساعد هذه الأعلام في التحكم في البحث والمطابقة بدقة أكبر.

يمكن أن تكون الأنماط المعقدة ذات التراجع بطيئة على النصوص الكبيرة. قم بتحسينها عن طريق التحديد، وتجنب استخدام المكررات المتداخلة، واستخدام العلامات (^ و $) كلما أمكن ذلك. اختبر الأداء بأحجام بيانات واقعية.

مجموعات الالتقاط هي أجزاء من التعبير النمطي (محددة بأقواس) تسمح لك باستخراج أقسام فرعية محددة من النص تتطابق مع النمط. وهذا مفيد لإعادة التنسيق أو استخراج بيانات محددة.

سيحاول المكمم 'الجشع' (على سبيل المثال، `.*`) مطابقة أكبر عدد ممكن من الأحرف. بينما سيحاول المكمم 'الكسول' (على سبيل المثال، `.*?`) مطابقة أقل عدد ممكن من الأحرف. يعتمد الاختيار على سلوك المطابقة المطلوب.

تدعم معظم تطبيقات التعبيرات النمطية الحديثة يونيكود، مما يسمح بمطابقة الأحرف في لغات وأبجديات مختلفة. ومع ذلك، قد يختلف الدعم الدقيق بين لغات البرمجة والأدوات.

قيّم هذه الأداة
4.5(25 المستخدمين قيّموا)