OnWorks Linux و Windows Online WorkStations

الشعار

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

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

؟ - تطابق عنصر صفري أو مرة واحدة

يعني هذا المُحدِّد الكمي ، في الواقع ، "جعل العنصر السابق اختياريًا". لنفترض أننا أردنا التحقق من رقم الهاتف للتأكد من صحته واعتبرنا رقم الهاتف صالحًا إذا كان يطابق أيًا من هذين النموذجين:

(NNN) NNN-نن نن نن-NNNN

أين "n"هو رقم. يمكننا بناء تعبير نمطي مثل هذا:

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

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


الحروف الأولية (في ERE) ، نسبقها بشُرط مائلة للخلف حتى يتم التعامل معها على أنها حرفية بدلاً من ذلك.

فلنجربها:



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

\)? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

(555) 123-4567

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

? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

555 123-4567

[me @ linuxbox ~] $ صدى "AAA 123-4567" | grep -E '^ \ (؟ [0-9] [0-9] [0-9] \)

? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

[me @ linuxbox ~] $

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

\)? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

(555) 123-4567

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

? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

555 123-4567

[me @ linuxbox ~] $ صدى "AAA 123-4567" | grep -E '^ \ (؟ [0-9] [0-9] [0-9] \)

? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$'

[me @ linuxbox ~] $


نرى هنا أن التعبير يطابق كلا شكلي رقم الهاتف ، لكنه لا يتطابق مع التعبير الذي يحتوي على أحرف غير رقمية.


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