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

اختبار التعبيرات النمطية مع تمييز المطابقة في الوقت الفعلي وشرح الرموز وتوليد نصوص تجريبية

/ /
0 مطابقات
ستظهر المطابقات المميزة هنا.
لا توجد مطابقات بعد.
  • سيظهر شرح النمط هنا.

                

كيفية الاستخدام

الخطوة 1

إدخال النمط

اكتب التعبير النمطي واختر العلامات المناسبة.

الخطوة 2

اختبار النص مباشرة

شاهد المطابقات المميزة ومجموعات الالتقاط في الوقت الفعلي.

الخطوة 3

التفسير والإنشاء

راجع شرح النمط وأنشئ سلاسل مثال.

الأسئلة الشائعة

هل يدعم مُختبر التعبيرات النمطية علامات مثل g و i و m و s و u؟

نعم. يمكنك تفعيل علامات global و ignore case و multiline و dotAll و unicode و sticky أو إلغاء تفعيلها داخل الأداة.

كيف يعمل شرح التعبير النمطي؟

يقرأ المُحلِّل النمطَ الذي أدخلته رمزاً برمز وينتج شرحاً بلغة مبسطة للمراسي (anchors) وأصناف المحارف والمجموعات والمحددات الكمية (quantifiers).

هل يمكنني إنشاء سلاسل مثال من تعبير نمطي؟

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

ما الفرق بين المطابقة الجائعة (greedy) والمطابقة الكسولة (lazy)؟

المحدد الكمي الجائع مثل .* يستهلك أكبر قدر ممكن ثم يتراجع؛ أما نظيره الكسول .*? فيتوقف عند أول مطابقة. على النص say "hi" bye، النمط "..*" يلتقط السطر بالكامل، بينما ".*?" يلتقط hi فقط. المطابقة الجائعة هي الافتراضية - أضف ? لجعل أي محدد كمي كسولاً.

كيف تعمل مجموعات الالتقاط والمراجع الخلفية (backreferences)؟

الأقواس تلتقط: (\d{4})-(\d{2}) مقابل 2026-09-19 تعطي المجموعة 1 = 2026 والمجموعة 2 = 09، وفي نمط الاستبدال تعيد $1 استخدام النص الملتقط. المجموعات المسماة مثل (?<year>\d{4}) تكون أوضح في الأنماط المعقدة. يرقم JavaScript المجموعات حسب قوس الافتتاح الخاص بها بدءاً من 1 - المجموعة 0 هي دائماً المطابقة الكاملة.

متى أحتاج إلى العلامة u (يونيكود)؟

أضف u كلما تضمن النمط أو النص محارف غير ASCII: فهي تجعل \w و \d يتبعان قواعد يونيكود، وتمكن هروب الخصائص مثل \p{L} و \p{Script=Arabic}، وتعامل الرموز التعبيرية (emoji) كمحرف واحد. بدون u، يمكن لزوج الاستبدال في UTF-16 (surrogate pair) أن يُقسم نصفين بمطابقة نقطة واحدة.

كيف يتفاعل ^ و $ مع العلامتين m و s؟

افتراضياً، يثبت ^ و $ السلسلة بأكملها ويتجاوز . فواصل الأسطر. علامة m (متعدد الأسطر) تجعل ^ و $ يطابقان عند كل حدود الأسطر بدلاً من ذلك، وعلامة s (dotAll) تسمح لـ . بعبور الأسطر الجديدة. وصفة شائعة لتحليل السجلات هي استخدام العلامتين معاً: /error.*timeout/gms.

أي نكهة من التعبيرات النمطية يستخدمها هذا المختبر؟

يعمل بمحرك JavaScript داخل متصفحك، لذا يتبع دلالات التعبيرات النمطية في ECMAScript (ECMA-262) - نفس المحرك الذي يستخدمه String.prototype.match في JS الإنتاجية. انتبه للاختلافات عن PCRE أو Python: لا يدعم JavaScript \K ولا التكرار الذاتي (recursion)، ووظيفة lookbehind وصلت فقط في ES2018. قد تحتاج الأنماط المكتوبة لـ Perl أو PCRE إلى تعديلات طفيفة.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}