تتكون الأحرف العادية من جميع تلك الأحرف المطبوعة وغير المطبوعة والتي لم يتم تحديدها صراحة على أنها metacharacters. يتضمن ذلك جميع أحرف الأبجدية الكبيرة والصغيرة ، وجميع الأرقام ، وجميع علامات الترقيم ، وبعض الرموز.
أبسط تعبير منتظم هو حرف عادي واحد يطابق الحرف نفسه في السلسلة التي تم تفتيشها. على سبيل المثال ، يمكن أن يتطابق نمط الشحن الواحد "A" إلى الحرف "A" الذي يظهر في أي مكان في السلسلة التي تم بحثها. فيما يلي بعض الأمثلة على أنماط التعبير العادية ذات الشحن الواحد:
/a/ /7/ /M/إن التعبير العادي المفرد VBScript المكافئ هو:
a 7 Mيمكن دمج شخصيات واحدة متعددة معًا للحصول على تعبير أكبر. على سبيل المثال ، فإن التعبير العادي JScript التالي ليس شيئًا آخر ، ولكنه تعبير تم إنشاؤه عن طريق الجمع بين تعبيرات الشحن الواحد "A" و "7" و "M".
/a7M/تعبير VBScript المكافئ هو:
a7Mيرجى ملاحظة أنه لا يوجد مشغل اتصال هنا. كل ما عليك فعله هو وضع شخصية واحدة خلف شخصية أخرى.
هناك العديد من metacharacters التي تحتاج إلى معالجة خاصة عند محاولة مطابقتها. لمطابقة هذه الشخصيات الخاصة ، يجب عليك أولاً الهروب منها ، أي استخدام عرقلة خلفية (/) أمامها. الجدول التالي يعطي هذه الأحرف الخاصة ومعانيها:
| شخصيات خاصة | يوضح |
|---|---|
| $ | يطابق الموضع النهائي لسلسلة الإدخال. إذا تم تعيين خاصية متعددة الأسلحة لكائن RegexP ، فإن $ يطابق أيضًا "/n 'أو'/r '. لمطابقة شخصية $ نفسها ، استخدم /$. |
| () | يمثل مواقف البداية والنهاية من التعبير الفرعي. يمكن الحصول على التعبيرات الفرعية للاستخدام لاحقًا. لمطابقة هذه الشخصيات ، استخدم /(و /). |
| * | يتطابق مع التعبير الفرعي السابق صفر أو عدة مرات. لمطابقة الحرف * ، استخدم / *. |
| + | يطابق التعبير الفرعي السابق مرة أو أكثر. لمطابقة حرف + ، استخدم / +. |
| . | تطابق أي حرف واحد باستثناء كسر الخط/n. لمطابقة. ، استخدام /. |
| [ | بمناسبة بداية تعبير قوس. لمطابقة [، استخدام /[. |
| ؟ | يتطابق مع التعبير الفرعي السابق صفر أو مرة واحدة ، أو يشير إلى مؤهل غير غريدي. لمطابقة الطابع؟ |
| / | حدد الحرف التالي كشخصية خاصة ، أو شخصية بدائية ، أو مرجعًا للخلف ، أو شخصية هروب ثماني. على سبيل المثال ، 'n' يطابق شخصية 'n'. '/n' يطابق شخصية الخط الجديد. يتطابق التسلسل '//'/، و '/(' Matches (. |
| ^ | يطابق موضع بدء سلسلة الإدخال ما لم يتم استخدامه في تعبير قوس مربع ، وفي هذه النقطة ، يعني ذلك أن جمع الأحرف غير مقبول. لمطابقة الحرف ^ نفسه ، استخدم / ^. |
| { | وضع علامة على بداية تعبير التصفيات. لمطابقة {، use /{. |
| | | حدد الاختيار بين عنصرين. لمطابقة | ، استخدام /|. |
هناك العديد من الشخصيات المفيدة غير المطبوعة التي يجب استخدامها من حين لآخر. يوضح الجدول التالي تسلسل الهروب المستخدمة لتمثيل هذه الأحرف غير مطبوعة:
| شخصية | معنى |
|---|---|
| /C X. | يطابق أحرف التحكم المحددة بواسطة X. على سبيل المثال ، /سم يطابق عودة Control-M أو النقل. يجب أن تكون قيمة X من AZ أو AZ. خلاف ذلك ، تعامل C كحرف أصلي "C". |
| /و | تطابق استراحة الصفحة. أي ما يعادل /x0c و /cl. |
| /ن | تطابق شخصية سطر جديد. أي ما يعادل /x0a و /cj. |
| /ص | تطابق شخصية عودة النقل. أي ما يعادل /x0d و /cm. |
| /ق | تطابق أي شخصيات من المساحة البيضاء ، بما في ذلك المساحات ، وعلامات التبويب ، وفواصل الصفحات ، إلخ. أي ما يعادل [/f/n/r/t/v]. |
| /ق | تطابق أي شخصيات غير واضحة. أي ما يعادل [^/f/n/r/t/v]. |
| /ر | تطابق شخصية علامة التبويب. أي ما يعادل /x09 و /ci. |
| /v | تطابق علامة تبويب عمودية. أي ما يعادل /x0b و /ck. |
تتطابق الفترة (.) أي حرف واحد مطبوع أو غير مطبوع في سلسلة ، باستثناء فترات الفواصل (/n). يمكن أن تتطابق التعبيرات العادية JScript التالية من مطابقة "AAC" و "ABC" و "ACC" و "ADC" وما إلى ذلك ، ويمكن أيضًا مطابقة "A1C" و "A2C" و AC "و A#C":
/ac/التعبير العادي في VBSCRING هو:
acإذا حاولت مطابقة سلسلة تحتوي على اسم الملف ، حيث تكون الفترة (.) جزءًا من سلسلة الإدخال ، فيمكنك بادئة فترة في التعبير العادي مع حرف Backslash (/) لتحقيق ذلك. على سبيل المثال ، يمكن أن يتطابق التعبير العادي JScript التالي "filename.ext":
/filename/.ext/بالنسبة لـ VBScript ، يبدو التعبير المكافئ هكذا:
filename/.extهذه التعبيرات لا تزال محدودة للغاية. يُسمح لهم فقط بمطابقة أي حرف واحد. في كثير من الحالات ، من المفيد جدًا مطابقة الأحرف الخاصة من القائمة. على سبيل المثال ، إذا كان نص الإدخال يحتوي على عناوين الفصل التي تدل عليها الأرقام على أنها الفصل 1 ، الفصل 2 وما إلى ذلك ، فقد ترغب في العثور على عناوين الفصل هذه.
يمكنك وضع حرف واحد أو أكثر في شريحة مربعة ([و]) لإنشاء قائمة للمطابقة. إذا كانت الأحرف مغلقة بين قوسين ، تسمى القائمة تعبيرًا عن قوسين . في أقواس ، مثل أي مكان آخر ، تمثل الشخصيات العادية نفسها ، أي أنها تتطابق مع واحدة من نفسها التي تظهر في نص الإدخال. تفقد معظم الشخصيات الخاصة معناها عندما تكون في تعبيرات قوسين. فيما يلي بعض الاستثناءات:
تتطابق الأحرف الواردة في تعبير القوس إلى حرف واحد فقط حيث يوجد تعبير القوس في التعبير العادي. يمكن أن تتطابق التعبيرات العادية JScript التالية "الفصل 1" و "الفصل 2" و "الفصل 3" و "الفصل 4" و "الفصل 5":
/Chapter [12345]/لمطابقة عنوان الفصل نفسه في VBScript ، استخدم التعبير التالي:
Chapter [12345]يرجى ملاحظة أن العلاقة الموضعية بين كلمة "الفصل" والمساحات التالية والأحرف الموجودة في قوسين ثابتة. لذلك ، يتم استخدام تعبير القوس فقط لتحديد مجموعة من الأحرف التي تلبي موضع الحرف الواحد فور كلمة "الفصل" والمساحة. هنا هو موقف الشخصية التاسعة.
إذا كنت ترغب في استخدام نطاق بدلاً من الحرف نفسه لتمثيل الحرف المراد مطابقته ، فيمكنك استخدام الواصلة لفصل أحرف البداية والنهاية للنطاق. ستحدد قيمة الحرف لكل حرف ترتيبها النسبي ضمن نطاق ما. يحتوي التعبير العادي JScript التالي على تعبير نطاق يعادل قائمة الأقواس الموضحة أعلاه.
/Chapter [1-5]/تعبيرات نفس الوظيفة في VBSCIPT هي كما يلي:
Chapter [1-5]إذا تم تحديد نطاق بهذه الطريقة ، يتم تضمين كل من القيم البدء والنهاية في هذا النطاق. شيء واحد يجب الإشارة إليه هو أن قيمة البداية في فرز Unicode يجب أن تكون قبل القيمة النهائية.
إذا كنت ترغب في تضمين الواصلة في تعبير قوس ، فيجب عليك استخدام إحدى الطرق التالية:
[/-] [-az] [az-] [!--] [!-~]وبالمثل ، من خلال وضع سيارة MARET (^) في بداية القائمة ، يمكنك العثور على جميع الأحرف غير الموجودة في القائمة أو النطاق. إذا ظهرت سيارة الإلكترونية في مكان آخر في القائمة ، فإنها تتطابق مع أي معنى خاص. يتطابق التعبير العادي JScript التالي مع عنوان الفصل برقم الفصل أكبر من 5:
/Chapter [^12345]/ل VBScript ، استخدم:
Chapter [^12345]في المثال الموضح أعلاه ، سوف يتطابق التعبير مع أي حرف رقمي في الموضع التاسع باستثناء 1 أو 2 أو 3 أو 4 أو 5. لذلك ، "الفصل 7" هو تطابق ، وكذلك "الفصل 9".
يمكن تمثيل التعبير أعلاه بواسطة الواصلة (-). ل jscript:
/Chapter [^1-5]/أو ، بالنسبة لـ VBSCript ، هو:
Chapter [^1-5]يتمثل الاستخدام النموذجي لتعبيرات قوسين في تحديد تطابق مع أي أحرف أبجدية أو أحرف صغيرة أو أي رقم. تعبير JScript التالي يعطي هذه المباراة:
/[A-Za-z0-9]/تعبير VBScript المكافئ هو:
[A-Za-z0-9]