14-10-2006, 22:26
|
|
|
חבר מתאריך: 25.08.03
הודעות: 9,114
|
|
בתגובה להודעה מספר 1 שנכתבה על ידי DCD שמתחילה ב "ביטויים רגולריים - ההבדלים בין הסוגריים (מרובעות לעגולות)"
סוגריים מרובעות = מחלקת תווים
סוגריים עגולות = תת תבנית
תת תבנית מאפשרת מספר דברים, אחד מהם זה לאפשר שימוש באופרטור "OR" הידוע.
(DCD|NET) = או DCD או NET
internet
קוד:
int(er|ra)net = internet OR intranet
(הערה: 1. אינטרנט זוהי רשת האינטרנט המוכרת, אינטראנט זוהי רשת פנימית בתוך הארגון.
2. השימוש בתו | יכול להעשות גם ללא תיחום הטקסט בסוגריים עגולות).
השימוש שבו חייבים את הסוגריים המסולסלות זה ל"יחוס חוזר", תראה לדוגמה את השימוש של הפונקציה preg_replace, ללא האפשרות של ייחוס חוזר לא תוכל להשים בפרמטר של ההחלפה תווים שאינך יכול לדעת מראש מהם.
במחלקת תווים כל תו משמש כ-OR, כל אחד מהתווים שבמחלקה יכול להתאים למחרוזת, אבל רק פעם אחת (אלא אם צויין אחרת), לחילופין ניתן להגדיר שכל התווים מתאימים חוץ מכל אחד מהתווים שציינו במחלקה.
אפשרות נוספת היא להגדיר טווח של תווים א-ת, a-f, 0-9 ועוד.
קוד:
/int[er][ra]net/ = internet OR intranet OR inteanet OR intrrnet
/int[re][ar]net/ = internet OR intranet OR inteanet OR intrrnet
/int[er][ra]net/ = internet OR intranet OR inteanet OR intrrnet
/int[re][ra]net/ = internet OR intranet OR inteanet OR intrrnet
התו הראשון לאחר int יכול להיות e או r, התו השני יכול להיות r או a ואח"כ net. (זה לא הפתרון החכם להתאמה למילים אלו, אך זה לצורך הפשטות).
נערך לאחרונה ע"י ישראל K בתאריך 14-10-2006 בשעה 22:34.
|