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: