ה Perl שאתם צריכים לדעת: ביטויים רגולריים

.

כל תו יחיד

ניתן להשתמש בנקודה (.) כמחליפה לכל אות

לדוגמא
"do."
יתאים ל "dog", "dot", "doe"וכו.
"d..r"
יתאים ל "door" ו "deer".

*

אפס מופעים או יותר של תו

הכוכבית (*) מציינת שאפס מופעים או יותר של תו צריכים להתקיים ברצף

"do.*"
יתאים ל "dog", "done", "doppleganger", וכו'
(מדוע? כיוון ש אחרי do יופיעו תו ואז אפס או יותר תווים)

"to*"
יתאים ל"to" ו "too" (מדוע? כי אחריt-o יופיעו 0 אותיות o או יותר)

"fre*.."
יתאים ל "frat", "free", "from" (מדוע? כי f-r יופיעו אפס או יותר e ואחריהם 2 תווים)

+

מופע אחד או יותר של התו הקודם

תו החיבור (+) דורש שיהיה לפחות מופע אחד של התוים שלפניו ברצף; דומה במקצת לכוכבית אולם מחמיר יותר.


"fre+.."
יתאים ל"freak"
, "freeze", "fresh" (מדוע? כי f-r ואחריו אחד או יותר e ואחריו שתי אותיות כלשהן).

?

אפס או אחד מופעים של התו הקודם

סימן השאלה (?) מסמל דרישה לאפס או אחד מופעים של התו הקודם (אולם לא יותר מאחד). מחמיר יותר הן מ (+) והן מ (*)

"ton?e"
יתאים ל"toe" ו "tone" (מדוע? כי t-o ואחריו אפס או אחד n ואחריו e)

( )

קיבוץ

הסוגריים () משמשות לקיבוץ תבניות, למשל, חיבור לוגי של שני תבניות או יותר.

(dog|cat)
יתאים ל "dog" ו "cat" (מדוע? dog או cat)

[ ]

אחד התווים בתוך הסוגריים

הסוגריים המרובעות ([ ]) משמשות כמקום לתו בודד המתאים לאחד מתוך סט תויים.

"ta[pb]"
יתאים ל "tap" and "tab" (מדוע? t-a ולאחריו אחת מהאותיות בסוגריים)

"r[aeiou]t"
יתאים ל "rat", "ret", "rot", "rut" (מדוע? r ולאחריו אחד מתוך האותיות בסוגריים ואחריהםt

"r[aeiou]+t"
יתאים ל "rat" , "riot", "root", וכו'.
(מדוע? r ואחריה אחת או יותר מהאותיות בסוגריים ואחריהם t)

[^]

כל תו שלא נמצא בתוך הסוגריים

מיקום הקראט (^) בתוך הסוגריים המרובעות ([ ]) הופך את הביטוי לשלילה, משמע התו חייב להתאים לאחד מהתווים שלא נמתאים בתוך הסוגריים המרובעות. זוהי דרך נוחה להגדיר סדרה גדולה של אותיות (כמו למשל כל האותיות חוץ מאותיות הניקוד).

"t[^aeiou]+.*s"
מתאים ל."thanks", "this", "trappings" (מדוע? t ואחריו אחד או יותר תווים שאינם אותיות ניקוד ואחריהם אפס או יותר תוויפ כלשהם ואחריהם s)

{min,max} טווח הופעות הסוגריים המסולסלות ({})מסמלות דרישה למסםר מופעים מוגדר של אותו התו

"[a-z]{3}"
דורש הופעה של אות קטנה שלוש פעמים רצופות

"[0-9]{3,}"
ידרוש הופעה של שלוש ספרות רצופות

"[A-Z]{2,5}"
דורש הופעה של שתים עד חמש הופעות של אות גדולה

Character Classes Anchor Sequences
\d [0-9] ספרה כלשהי ^ תחילת מחרוזת מידע
\D [^0-9] לא ספרה $ סוף מחרוזת מחידע
\w [a-zA-Z0-9_] אות אלפבתית או ספרה \b תווך מילה
\W [^a-zA-Z0-9_] לא אות אלפבתית או ספרה \B כל מקום חוץ מתווך המילה
\s [ \t\n\r\f] כל סוגי הרווחים    
\S [^ \t\n\r\f] כל הלא רווחים    
Escape Sequences
\n תו תחילת שורה. סמן טיפוסי לסוף שורה
\r החזרת הסמן לתחילת השורה
\t טאב
\e ות בריחה (Escape character)
\xFF "FF" ערך הקסדיצימאלי במקום.