المقدمة
يوضح هذا المستند كيفية عمل التعبيرات العادية (regex) وكيفية إختبارها في خوادم Expressway.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- Video Communications Server (VCS) وخوادم Expressway
- أجهزة TelePresence
- الاتصال من Business إلى Business (B2B)
- عمليات نشر التعاون
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
التعابير العادية هي تسلسلات من الحروف التي تعرف الحشوات المستخدمة لمطابقة السلاسل في النص. بعد ذلك يمكن تعديل هذه السلاسل أو حفظها في قواعد البحث أو التحويلات، وهي الاستخدامات الأكثر شيوعا للتعبيرات العادية.
أنواع التعبيرات المنتظمة
تعبيرات أساسية
- نقطة (.) تطابق أي حرف واحد.
- يطابق الرقم (\d) أي رقم عشري مفرد.
- يطابق الرمز النجمي (*) 0 أو أكثر من التكرارات للحرف أو التعبير السابق.
- تطابق علامة الجمع (+) تكرارات أو أكثر من الحرف أو التعبير السابق.
- علامة الاستفهام (؟) تطابق 0 أو 1 تكرار للحرف أو التعبير السابق.
- يطابق القوس المجعد{n} تكرارات الحرف أو التعبير السابق، على سبيل المثال، (\d{3}) أي سلسلة مكونة من 3 أرقام.
- يتطابق نطاق قوس {n،m} المجعد مع m مرات تكرار الحرف أو التعبير السابق، على سبيل المثال، (\d{3،5}) مع أي سلسلة مكونة من 3 أو 4 أو 5 أرقام.
- الأقواس [...] تطابق مجموعة من الحروف المحددة، ويمكن تحديد هذه الحروف بشكل فردي أو في نطاق، على سبيل المثال، يطابق [abc] الحروف a أو b أو c.
- لتعيين نطاق، أستخدم حرف الواصلة (-) بين بداية ونهاية النطاق، على سبيل المثال، يطابق [a-z] أي حرف أبجدي.
- إستخدام علامة الإقحام (^) بعد أن يعكس القوس المفتوح التطابق، على سبيل المثال، يطابق [^a-z] أي حرف غير أبجدي.
- الأقواس (..) تجمع مجموعة من الحروف المتطابقة. يمكن الإشارة إلى هذه المجموعات لاحقا باستخدام الأحرف \n كجزء من سلسلة إستبدال.
- يتطابق ممر البيانات (|) مع تعبير أو تعبير بديل، على سبيل المثال، (com|net) مع أي من السلاسل com أو net.
تعبيرات أخرى
- (؟!...) هذه نظرة سلبية إلى الامام. تعريف تعبير فرعي يجب ألا يكون موجودا.
- ٪localdomains٪ يطابق كافة مجالات SIP التي تم تكوينها حاليا على الخادم.
إنشاء واختبار نماذج
توفر خوادم Expressway أداة لاختبار الأنماط دون تغيير التكوين لتجنب التأثير المحتمل على الأعمال عند إنشاء عناصر جديدة.
يمكن العثور على هذه الأداة على واجهة الويب الخاصة بخادم Expressway، انتقل إلى صيانة > أدوات > التحقق من النمط.
التحقق من أداة النموذج
- الاسم المستعار: السلسلة المطلوب إختبارها، يمكن أن تكون الوجهة أو معرف المورد الموحد للتسجيل (URI). تتم مقارنة هذه السلسلة مع سلسلة الحشو للاختبار بحثا عن تطابق.
- نوع النموذج: يحدد هذا الإعداد كيفية معالجة سلسلة التصحيح عند تحديد نمط. ال Regex هو الاكثر إستعمالا.
- دقيق: يجب أن تتطابق السلسلة بأكملها تماما مع حرف الاسم المستعار للحرف.
- البادئة: يجب أن تظهر السلسلة في بداية الاسم المستعار.
- اللاحقة: يجب أن تظهر السلسلة في نهاية الاسم المستعار.
- regex: يتم التعامل مع السلسلة كتعبير عادي.
- سلسلة الحشو: النمط الذي يتم مقارنة الاسم المستعار باستخدامه.
- سلوك النموذج: الإجراء الذي يتم تنفيذه على تطابق النموذج. في حالة تنفيذ تعديل، يتم تمكين مربع نص جديد لتحديد التعديل.
- الشريط: يزيل البادئة أو اللاحقة المطابقة من الاسم المستعار. يتوفر فقط عندما يتم ضبط نوع النموذج على سابقة أو لاحقة.
- الإجازة: لا يتم تطبيق أي تعديل على الاسم المستعار.
- إستبدال: يستبدل الجزء المطابق من الاسم المستعار بالنص الموجود في سلسلة الاستبدال.
- إضافة بادئة: يسبق النص الإضافي إلى الاسم المستعار.
- إضافة اللاحقة: إلحاق النص الإضافي بالاسم المستعار.
أمثلة Regex المستخدمة بشكل شائع
مطابقة حرف البدل لكل شيء
يستخدم هذا النمط على نطاق واسع عندما لا يتطلب تطابق نموذج معين ولكن يلزم مراعاة قاعدة بحث أو تحويل، فيطابق التعبير العادي (.*) أي إدخال بغض النظر عن الشكل أو الطول. النقطة تطابق أي حرف، والنجمة هي أي مقدار من التكرار لذلك التعبير.
مطابقة مثال حرف البدل لكل شيء 1
ينجح نفس النمط بغض النظر عن إدخال الاسم المستعار.
مطابقة مثال حرف البدل لكل شيء 2
مطابقة المجالات المحلية وغير المحلية
يستخدم هذا بشكل شائع لمطابقة نمط مع وجهة أحد المجالات المحلية التي تم تكوينها على الخادم والاحتفاظ بالمكالمة الموجهة محليا بدلا من توجيهها إلى الإنترنت. يمكن إستخدام regex ٪localdomains٪ كلاحقة أو كجزء ثان من نمط regex.
لتكوين المجالات المحلية، انتقل إلى تكوين > مجالات.
المجالات التي تم تكوينها محليا
يفشل تطابق النموذج لأي مجال غير الذي تم تكوينه محليا.
فشل مطابقة المجالات المحلية
وينجح في أي مجال تم تكوينه محليا.
تطابق المجالات المحلية النجاح
يمكن أيضا إستخدام النظرة السلبية التي تسبق هذا النمط (؟!.*@٪localdomains٪) للنتيجة المعاكسة. هذا يعني أن أي اسم مستعار ليس المجالات المحلية هو تطابق ناجح.
البحث المسبق السلبي للمجالات المحلية
مطابقة ملحقات مجال مختلفة
يستخدم هذا النمط بشكل شائع عندما تمتلك الشركة مجالا له ملحقات متعددة ويسمح إما باستدعاء أحد الملحقين، ولكن لإدارة المكالمات، يلزم تطبيع هذه الملحقات قبل النظر في قواعد البحث.
ويتم ذلك عادة من خلال عمليات التحويل باستخدام التعبير النمطي للأنبوب (|).
مثال ملحق مجال مختلف 1
يتطابق النمط نفسه مع المجال مع أي من ملحقات المجال ولكنه يحوله إلى الملحق الذي تم تحديده نتيجة لذلك.
مثال ملحق مجال مختلف 2
مطابقة أنماط الاحتيال في الرسوم
غالبا ما تكمن القواسم المشتركة بين المكالمات الهاتفية بسبب الاحتيال على المكالمات في عدد المكالمات التي تم طلب أرقام منها، بينما تتطلب المكالمات الدولية رمز البلد الذي يتبعه رقم الهاتف الذي تم الاتصال به، مما يجعل هذه المكالمات تحتوي على سبعة أرقام على الأقل. من الشائع أيضا أن تكون خطط الطلب الداخلية داخل الشركات بطول 4 إلى 6 أرقام.
يؤدي ذلك إلى إنشاء فرق واضح يمكن إستخدامه لاتخاذ إجراءات مختلفة لأي من هذه الأنواع من المكالمات. باستخدام تغيير عدد الأرقام، يمكنك تحديد الإجراء الذي يجب إتخاذه مع كل مكالمة.
عدد الأرقام مثال 1
يطابق هذا النمط أي اسم مستعار بين 7 و 15 رقما فقط. عدد أقل من الأرقام لا ينتج عنه تطابق.
مثال عدد الأرقام 2
يؤدي أي حرف آخر غير الأرقام إلى حدوث فشل أيضا.
المثال 3 في عدد الأرقام
المجموعات والنماذج المرجعية
يتم إستخدام المجموعات والمراجع مع أنماط regex لتعديل بعض المقاطع من اسم مستعار مع الحفاظ على المقاطع الأخرى، وهذا مفيد عند إضافة أو إزالة البادئات أو تعديل المجالات. يتم تعيين المجموعات على قسم سلسلة النمط، ويتم تنفيذ المراجع حسب الترتيب في حقل إستبدال السلسلة.
مثال 1 للمجموعات والمراجع
في هذا المثال، هناك تطابق حرفي مع @cisco.com ويتم مطابقة سلسلة testuri وتجميعها بواسطة مطابقة كافة regex.
يرجع مرجع \1 الموجود في سلسلة الاستبدال إلى المجموعة الأولى داخل سلسلة النمط، والتي ترتبط بمعرف URI، بغض النظر عن ما هو URI، وبالتالي يتم حفظ URI في الاسم المستعار للنتيجة.
لم تتم الإشارة إلى المجال في السلسلة المستبدلة، وبدلا من إستبداله بمجال داخلي، يمكن ملاحظة ذلك في الاسم المستعار للنتيجة.
كما يمكن إستخدام المجموعات لإعادة ترتيب URI حيث يسمح ذلك بخطط طلب مرنة.
مثال 2 المجموعات والمراجع
في هذا المثال، يوجد اسم مستعار بتنسيق 5 أرقام، متبوعا بنقطة وخانة أخرى، متبوعا بالنطاق.
في سلسلة النمط، هناك مجموعات وأقسام مختلفة يمكن تحليلها بشكل مستقل.
- المجموعة 1، يطابق النمط (\d{5}) أي 5 أرقام في بداية السلسلة.
- التعبير العادي (\.) يطابق نقطة حرفية، هذا يعني أن الاسم المستعار الأصلي يتطلب نقطة بعد الخانات الأولية ال 5.
- المجموعة 2، يطابق النمط (\d) رقم واحد.
- المجموعة 3، يطابق النمط الحرفي (@cisco.com) فقط تسلسل الأحرف هذا، ويمكن تعديل هذا أيضا لتضمين مجالات متعددة، أو أي سلسلة بعد التطابقات السابقة.
بمجرد أن يطابق الاسم المستعار سلسلة الحشو، فإن الإجراء يؤدي إلى إستبداله بسلسلة الاستبدال.
تشير سلسلة الاستبدال إلى المجموعات السابقة في ترتيب جديد.
- يتصل المرجع \2 بالمجموعة الخلفية 2، وهذه هي الرقم المفردة بعد النقطة وقبل المجال.
- يقوم المرجع \1 باستدعاء المجموعة الخلفية 1، هذه هي أول 5 أرقام من الاسم المستعار.
- يقوم المرجع \3 باستدعاء المجموعة الخلفية 3، هذا هو قسم المجال للاسم المستعار
- لا تتم الإشارة إلى النقطة أبدا ولا هي جزء من أي مجموعة، لذلك فهي ليست جزءا من الاسم المستعار للنتائج.
ثم ينتج الاسم المستعار نفس الأرقام مثل الاسم المستعار الأصلي ولكن مع الرقم الذي كان أصلا بعد النقطة، في بداية الاسم المستعار.
النقطة التي تفصل بين الخانات الخمسة والخانة المفردة، لم تعد جزء من الاسم المستعار، المجال محفوظ.
لا يلزم الإشارة إلى كل مجموعة، فالمجموعة التي لم تتم الإشارة إليها ليست جزءا من الاسم المستعار للنتائج.
معلومات ذات صلة
الدعم الفني والتنزيلات من Cisco