لإنشاء تعبير عادي، يجب استخدام بنية معينة، أي أحرف خاصة وقواعد إنشاء خاصة. على سبيل المثال، التعبير العادي البسيط التالي يطابق أي رقم هاتف مكوّن من 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 | تتطابق مع أي أحرف مسافات بيضاء. على سبيل المثال، يمكنك استخدام هذا الحرف لتحديد مسافة بين الكلمات في العبارة: stockstips تتطابق مع العبارة نصائح عن المخزون مكافئة لـ [:space:] |
| \S | تتطابق مع أي حرف ليس بمسافة بيضاء. مكافئة لـ [^[:space:]] |
| \d | تتطابق مع أي رقم من 0 إلى 9. مكافئة لـ [:digit:] |
| \D | تتطابق مع أي حرف ليس رقمًا من 0 إلى 9. مكافئة لـ [^[:digit:]] |
| مجموعة | |
| (...) | تجمّع أجزاء من التعبير. استخدم التجميع لتطبيق محدد كمية على مجموعة أو لتطابق فئة حرف قبل أو بعد مجموعة. |
| محددو الكمية | |
| {n} | يتطابق مع التعبير السابق في عدد n من المرات بالضبط. على سبيل المثال: [a-c]{2} يتطابق مع أي حرف من a إلى c فقط إذا كان الحرفان متتاليين. ولذلك، يتطابق التعبير مع 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 اختياريًا. |