Logo

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

{} - مطابقة عنصر مع عدد محدد من المرات

إنّ { } تُستخدم الأحرف الوصفية للتعبير عن الحد الأدنى والحد الأقصى لعدد التطابقات المطلوبة. ويمكن تحديدها بأربع طرق ممكنة:


الجدول 19-3: تحديد عدد المباريات


معنى المحدد

معنى المحدد

{n} قم بمطابقة العنصر السابق إذا حدث بالضبط n .


image

{n,m} قم بمطابقة العنصر السابق إذا حدث على الأقل n مرات، ولكن ليس أكثر من m .


image

{n,} قم بمطابقة العنصر السابق إذا حدث n أو أكثر.


image

{,m} قم بمطابقة العنصر السابق إذا لم يحدث أكثر من m .


image


بالعودة إلى مثالنا السابق مع أرقام الهواتف، يمكننا استخدام طريقة تحديد التكرارات لتبسيط تعبيرنا العادي الأصلي من:


^\(?[0-9][0-9][0-9]\)? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$

إلى عام

^\(?[0-9]{3}\)? [0-9]{3}-[0-9]{4}$

فلنجربها:



[me @ linuxbox ~] $ صدى "(555) 123-4567" | grep -E '^\(?[0-9]{3}\)? [0- 9]{3}-[0-9]{4}$'

(555) 123-4567

[me @ linuxbox ~] $ صدى "555 123-4567" | grep -E '^\(?[0-9]{3}\)? [0-9]

{3}-[0-9]{4}$'

555 123-4567

[me @ linuxbox ~] $ صدى "5555 123-4567" | grep -E '^\(?[0-9]{3}\)? [0-9

]{3}-[0-9]{4}$'

[me @ linuxbox ~] $

[me @ linuxbox ~] $ صدى "(555) 123-4567" | grep -E '^\(?[0-9]{3}\)? [0- 9]{3}-[0-9]{4}$'

(555) 123-4567

[me @ linuxbox ~] $ صدى "555 123-4567" | grep -E '^\(?[0-9]{3}\)? [0-9]

{3}-[0-9]{4}$'

555 123-4567

[me @ linuxbox ~] $ صدى "5555 123-4567" | grep -E '^\(?[0-9]{3}\)? [0-9

]{3}-[0-9]{4}$'

[me @ linuxbox ~] $


كما نرى، يمكن لتعبيرنا المنقح التحقق بنجاح من صحة الأرقام مع الأقواس وبدونها، مع رفض الأرقام التي لم يتم تنسيقها بشكل صحيح.


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: