لإنشاء التعبيرات العادية، يجب استخدام بنية معينة - أي أحرف خاصة وقواعد إنشاء خاصة. على سبيل المثال، ما يلي هو تعبير عادي بسيط يتطابق مع أي رقم هاتف مكوّن من 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:] | تتطابق مع علامات الترقيم والرموز: ! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | } ملاحظة: يجب أن تحاط فئة الأحرف هذه عند استخدامها في التعبير العادي بمجموعة أخرى من الأقواس المربعة، على سبيل المثال: [[: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 اختياريًا. |