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

لإنشاء التعبيرات العادية، يجب استخدام بنية معينة - أي أحرف خاصة وقواعد إنشاء خاصة. على سبيل المثال، ما يلي هو تعبير عادي بسيط يتطابق مع أي رقم هاتف مكوّن من 10 أرقام، وفقًا للنمط nnn-nnn-nnnn:

\d{3}-\d{3}-\d{4}

يوضّح الجدول التالي بعض الأحرف الخاصة الأكثر شيوعًا للاستخدام في التعبيرات العادية. ويتم تصنيف هذه الأحرف على النحو التالي:

الأحرف الوصف
الروابط
^ (علامة الإقحام) تتطابق مع بداية السطر أو سلسلة النص التي يبحث عنها التعبير العادي. على سبيل المثال، قاعدة المحتوى التي تبحث في سطر الموضوع والتعبير العادي التالي:

^abc

تلتقط أي رسالة إلكترونية تحتوي على سطر موضوع يبدأ بالأحرف abc
$ (علامة الدولار) تتطابق مع نهاية السطر أو سلسلة النص التي يبحث عنها التعبير العادي. على سبيل المثال، قاعدة المحتوى التي تبحث في سطر الموضوع والتعبير العادي التالي:

xyz$

تلتقط أي رسالة إلكترونية تحتوي على سطر موضوع ينتهي بالحروف xyz
أحرف التعريف
. (النقطة) تتطابق مع أي حرف فردي، باستثناء السطر الجديد.
| (الشريط العمودي) يشير إلى البديل بمعنى "أو". على سبيل المثال:

cat|dog تتطابق مع الكلمة cat أو dog
\ يشير إلى أنّ الحرف التالي حرفي وليس حرفًا خاصًا. على سبيل المثال:

\. يتطابق مع النقطة حرفيًا وليس أي حرف يشير إليه التعبير (حرف النقطة)
فئات الأحرف
[...] تتطابق مع أي حرف من مجموعة أحرف. وتفصل بين الحرف الأول والأخير في مجموعة بشرطة. على سبيل المثال:

[123] تتطابق مع الرقم 1 أو 2 أو 3

[a-f] تتطابق مع أي حرف من a إلى f

ملاحظة: تكون التعبيرات العادية في سياسات "امتثال المحتوى" حسّاسة لحالة الأحرف.
[^...] تتطابق مع أي حرف خارج نطاق مجموعة الأحرف. على سبيل المثال:

[^a-f]يتطابق مع أي حرف ليس حرفًا من a إلى f

ملاحظة: تكون التعبيرات العادية في سياسات "امتثال المحتوى" حسّاسة لحالة الأحرف.
[:alnum:] تتطابق مع الأحرف الأبجدية الرقمية (الأحرف أو الأرقام):

a-z أو A-Z أو 0-9

ملاحظة: يجب أن تحاط فئة الأحرف هذه عند استخدامها في التعبير العادي بمجموعة أخرى من الأقواس المربعة، على سبيل المثال: [[:alnum:]].
[:alpha:] تتطابق مع الأحرف الأبجدية (الحروف):

a-z أو A-Z

ملاحظة: يجب أن تحاط فئة الأحرف هذه عند استخدامها في التعبير العادي بمجموعة أخرى من الأقواس المربعة، على سبيل المثال: [[:alpha:]].
[:digit:] تتطابق مع الأرقام:

0-9

ملاحظة: يجب أن تحاط فئة الأحرف هذه عند استخدامها في التعبير العادي بمجموعة أخرى من الأقواس المربعة، على سبيل المثال: [[:digit:]].
[:graph:] تتطابق مع الأحرف المرئية فقط—أي، جميع الأحرف باستثناء المسافات وأحرف التحكم وما إلى ذلك.

ملاحظة: يجب أن تحاط فئة الأحرف هذه عند استخدامها في التعبير العادي بمجموعة أخرى من الأقواس المربعة، على سبيل المثال: [[:graph:]].
[:punct:] تتطابق مع علامات الترقيم والرموز:

! " # $ % & ' ( ) &ast; + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | }

ملاحظة: يجب أن تحاط فئة الأحرف هذه عند استخدامها في التعبير العادي بمجموعة أخرى من الأقواس المربعة، على سبيل المثال: [[:punct:]].
[:print:] تتطابق مع الأحرف المرئية والمسافات.

ملاحظة: يجب أن تحاط فئة الأحرف هذه عند استخدامها في التعبير العادي بمجموعة أخرى من الأقواس المربعة، على سبيل المثال: [[:print:]].
[:space:] تتطابق مع جميع أحرف المسافات البيضاء، بما في ذلك المسافات وعلامات التبويب وفواصل الأسطر.

ملاحظة: يجب أن تحاط فئة الأحرف هذه عند استخدامها في التعبير العادي بمجموعة أخرى من الأقواس المربعة، على سبيل المثال: [[:space:]].
[:word:] يطابق أي حرف كلمة، وهذا يعني أي حرف أو رقم أو شرطة سفلية:

a-z أو A-Z أو 0-9 أو _

ملاحظة: يجب أن تحاط فئة الأحرف هذه عند استخدامها بمجموعة أخرى من الأقواس المربعة عند استخدامها في التعبير العادي، على سبيل المثال: [[:word:]].
فئات أحرف الاختصار
\w يطابق أي حرف كلمة، وهذا يعني أي حرف أو رقم أو شرطة سفلية:

a-z أو A-Z أو 0-9 أو _

مكافئة لـ [:word:]
\W تتطابق مع أي حرف غير أحرف الكلمات، أي—كل حرف ليس بحرف، أو رقم، أو شرطة سفلية.

مكافئة لـ [^[:word:]]
s\ تتطابق مع أي أحرف مسافات بيضاء. على سبيل المثال، يمكنك استخدام هذا الحرف لتحديد مسافة بين الكلمات في العبارة:

نصائح\sمخزون يتطابق مع العبارةنصائح عن المخزون

مكافئة لـ [:space:]
\S تتطابق مع أي حرف ليس بمسافة بيضاء.

مكافئة لـ [^[:space:]]
\d تتطابق مع أي رقم من 0 إلى 9.

مكافئة لـ [:digit:]
\D تتطابق مع أي حرف ليس رقمًا من 0 إلى 9.

مكافئة لـ [^[:digit:]]
المجموعة
(...) تجمّع أجزاء من التعبير. استخدِم التجميع لتطبيق محدد كمية على مجموعة أو لتطابق فئة حرف قبل أو بعد مجموعة.
محددو الكمية
{n} يتطابق مع التعبير السابق في عدد n من المرات بالضبط. على سبيل المثال:

[a-c]{2} يتطابق مع أي حرف منأ إلى ج فقط إذا كان الحرفين متتاليين. ولذلك، يتطابق التعبير مع ab وac وليس abc أو aabbc.
{n,m} يتطابق مع التعبير السابق بحد أدنى n من المرات وبحد أقصى m من المرات. على سبيل المثال:

[a-c]{2,4} يتطابق مع أي حرف من a إلى c فقط إذا كان الحرفين متتاليين مرتين على الأقل و4 مرات بحدٍ أقصى. وبالتالي، فإن التعبير سيتطابق مع ab وabc وليس مع aabbc.
؟ يشير إلى أنّ الحرف أو التعبير السابق يمكن ألا يتطابق أو يتطابق مرة واحدة. مكافئ للنطاق {0,1}. على سبيل المثال، التعبير العادي التالي:

colou?r

يتطابق مع colour أو color، لأن التعبير ? يجعل الحرف u اختياريًا.