ورقة غش للتعبيرات النمطية
اختر محرك التعبيرات النمطية
ابدأ بالمحرك الذي تستخدمه. سيخفي المرجع البنية غير المنطبقة على اختيارك.
استخدم هذا المرجع التفاعلي لمقارنة صياغة التعبيرات النمطية الشائعة قبل لصقها في الشفرة. اختر JavaScript أو PCRE2/PHP أو Python re أو .NET أو عرض كل المحركات، ثم اختر موضوعًا وابحث في المدخلات المعروضة. يوضح المرجع الصياغة الخاصة بعائلة معينة، لأن رمزًا يُترجم في محرك قد يُرفض أو يحمل معنى مختلفًا في آخر. يتم البحث والنسخ في متصفحك، ولا تنفذ هذه الصفحة أنماطًا على نصك.
كيفية استخدام ورقة غش التعبيرات النمطية
-
1
اختر محركًا
ابدأ بـ JavaScript أو PCRE2/PHP أو Python re أو .NET، أو قارنها جميعًا. يحذف العرض المركز المدخلات غير المنطبقة على المحرك المحدد.
-
2
اختر موضوعًا
افتح المراسي أو فئات المحارف أو المحددات الكمية أو المجموعات أو النظرات أو أشكال الأنماط الشائعة أو الأعلام والخيارات.
-
3
ابحث وانسخ محليًا
ابحث عن الرموز والأوصاف داخل الصفحة، ثم حدد رمزًا لنسخه. لا يُرسل نص البحث إلى الخادم ولا يُضاف إلى الرابط.
-
4
تحقق في بيئة التشغيل الحقيقية
استخدم المحرك والأعلام وواجهة البرمجة المطابقة في مشروعك لترجمة التعبير النهائي واختباره. يشرح هذا المرجع الصياغة ولا يتحقق من بيانات الإنتاج.
التوافق مهم
التعبيرات النمطية ليست لغة عالمية واحدة. يفصل المرجع السريع الصياغة المتشابهة التي لا تنتقل بسلاسة بين المحركات.
| الميزة | JavaScript RegExp | PCRE2 / PHP | Python re |
.NET |
|---|---|---|---|---|
| البداية المطلقة | لا يوجد \A |
\A |
\A |
\A |
| النهاية المطلقة | لا يوجد \z |
\z |
\Z |
\z |
خاصية Unicode \p{L} |
استخدم وضع u أو v |
مدعومة | غير مدعومة في re المدمج |
مدعومة |
| التقاط مسمى | (?<name>...) |
(?<name>...) أو (?P<name>...) |
(?P<name>...) |
(?<name>...) |
| إحالة خلفية مسماة | \k<name> |
\k<name> أو (?P=name) |
(?P=name) |
\k<name> |
| مطابقة عامة | علم g مع واجهة مطابقة |
واجهة مطابقة متكررة مثل preg_match_all |
واجهة متكررة مثل finditer |
واجهة متكررة مثل Matches |
يستحق \d و\w عناية خاصة. في JavaScript يبقى \d أرقام ASCII من 0-9، ويبقى \w في جوهره محارف كلمات ASCII حتى مع u. تستطيع المحركات الأخرى تطبيق قواعد واعية بـ Unicode حسب وضعها وإعدادها. إذا كان سلوك Unicode مهمًا، فاكتب الخاصية أو الفئة التي تحتاجها بدقة واختبرها.
المراسي والحدود
| الرمز | ما يعبّر عنه | ملاحظة قابلية النقل |
|---|---|---|
^ |
بداية الإدخال، أو سطر في وضع الأسطر المتعددة | متاح في العائلات الأربع. |
$ |
نهاية الإدخال، أو سطر في وضع الأسطر المتعددة | متاح في العائلات الأربع؛ تختلف تفاصيل السطر الجديد الختامي. |
\b |
حد كلمة | يعتمد تعريف محرف الكلمة على المحرك والوضع. |
\A |
بداية مطلقة للنص | PCRE2 وPython و.NET؛ ليس JavaScript. |
\z |
نهاية مطلقة للنص | PCRE2 و.NET؛ تستخدم Python الرمز \Z. |
\Z |
نهاية النص في Python | قد يطابق PCRE2 و.NET قبل سطر جديد أخير؛ استخدم \z فيهما للنهاية المطلقة. |
المجموعات والنظرات
| الرمز | المعنى | قيد مهم |
|---|---|---|
(abc) |
مجموعة التقاط | متاحة في العائلات الأربع. |
(?:abc) |
مجموعة غير ملتقطة | متاحة في العائلات الأربع. |
(?<name>abc) |
مجموعة مسماة | صياغة JavaScript وPCRE2 و.NET. |
(?P<name>abc) |
مجموعة مسماة | صياغة Python؛ ويقبلها PCRE2 أيضًا. |
(?=abc) / (?!abc) |
نظرة أمامية إيجابية / سلبية | متاحة في العائلات الأربع. |
(?<=abc) / (?<!abc) |
نظرة خلفية إيجابية / سلبية | تدعمها العائلات الأربع، لكن الأطوال المسموح بها تختلف. |
النظرة الخلفية فخ شائع لقابلية النقل. يحتاج Python re إلى نظرة خلفية ثابتة العرض. ويتوقف دعم JavaScript على بيئة التشغيل التي تنشرها. اختبر النمط المحدد في أقدم بيئة تشغيل تدعمها بدل الاعتماد على سطر في ورقة الغش وحده.
أشكال أنماط، لا مدققات كاملة
تصف مدخلات الأنماط الشائعة الأشكال عمدًا. فمثلًا يقبل ^\d{4}-\d{2}-\d{2}$ القيمة 2026-99-99، ولا يمكن لنمط بسيط على هيئة بريد إلكتروني تطبيق معيار عناوين البريد كاملًا. حلل التواريخ والروابط والمعرفات المنظمة بالمكتبة المناسبة بعد فحص أولي للصيغة.
| الشكل | نمط مثال | ما لا يثبته |
|---|---|---|
| عدد عشري موقّع | ^-?\d+(?:\.\d+)?$ |
العلامات العشرية المحلية أو التجميع أو النطاق أو الدقة. |
| نص على هيئة بريد | ^[\w.+-]+@[\w-]+\.[\w.-]+$ |
عنوان بريد قابل للتسليم أو مكتمل المعيار. |
| نص على هيئة رابط HTTP(S) | ^https?://\S+$ |
رابط آمن أو قابل للتحليل أو يمكن الوصول إليه. |
| شكل تاريخ ISO | ^\d{4}-\d{2}-\d{2}$ |
تاريخ تقويمي حقيقي. |
| محارف slug من ASCII | ^[A-Za-z0-9_-]+$ |
قواعد تطبيقك لحالة الأحرف أو الفواصل أو الكلمات المحجوزة. |
الأعلام والخيارات
لا تنسخ علمًا قبل التحقق من واجهة المضيف. تكتب JavaScript /pattern/g، بينما تمرر Python re.I أو re.X، ويمكن لـ .NET استخدام RegexOptions، ويستخدم PCRE2/PHP غالبًا فواصل ومعدلات لاحقة. العلم g للمطابقة العامة في JavaScript وليس معدلًا في PCRE2؛ وعادة تتحكم واجهة PHP في المطابقة المتكررة لـ PCRE2. يتاح الوضع الموسع x في PCRE2 وPython و.NET، لكنه ليس علم JavaScript.
الأسئلة الشائعة
لا. هذا مرجع للصياغة مع أدوات بحث ونسخ محلية في المتصفح. استخدم مختبر تعبيرات نمطية وبيئة التشغيل التي يستخدمها تطبيقك لترجمة الأنماط واختبار مدخلات ممثلة.
بعض الرموز المألوفة ليست قابلة للنقل. مثلًا يستخدم Python re المدمج (?P<name>…) للمجموعات المسماة، بينما يستخدم JavaScript (?<name>…)، ولا يدعم JavaScript المراسي المطلقة \A أو \z.
لا. في JavaScript، \d أرقام ASCII و\w محارف كلمات ASCII في جوهره حتى مع علم u. للمحركات الأخرى أوضاع وخيارات Unicode مختلفة، لذا اختبر السلوك الذي تتطلبه بياناتك.
اعتبرها فحوص شكل سريعة فقط. فهي لا تثبت أن عنوان البريد قابل للتسليم أو أن الرابط آمن أو متاح أو أن التاريخ موجود في التقويم. استخدم محللًا أو مدققًا مخصصًا لقواعد الإنتاج.
أدوات ذات صلة
مرجع جدول ASCII
جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.
مرجع أحرف HTML
قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.
منسق JSON
الصق JSON لتنسيقه بمسافتين أو أربع مسافات، أو تصغيره إلى ناتج مضغوط، أو فحص بنيته بسرعة قبل نسخ النتيجة.
عدّاد FPS
قِس معدل الإطارات FPS في المتصفح عبر requestAnimationFrame: تنعيم، وأدنى وأقصى معدل إطارات، وحد تنبيه، ورسم بياني اختياري. يعمل محليًا بلا رفع ملفات وبلا API.
مولد لوحة الألوان
أنشئ لوحات ألوان أحادية أو متجاورة أو مكملة أو ثلاثية أو رباعية من لون HEX أساسي، ثم صدّر متغيرات CSS جاهزة للنسخ.
محول ASCII إلى Hex
حوّل نص ASCII إلى قيم بايت سداسية عشرية. يستخدم الناتج رقمين ست عشريين لكل محرف، جاهزة لتفريغات الذاكرة أو تتبعات الحزم أو جداول البرامج الثابتة.