כדי ליצור ביטוי רגולרי, צריך להשתמש בתחביר ספציפי – כלומר, בתווים מיוחדים ובכללי בנייה. לדוגמה, הביטוי הרגולרי הפשוט הבא תואם לכל מספר טלפון בן 10 ספרות, בדפוס nnn-nnn-nnnn:
\d{3}-\d{3}-\d{4}
בטבלה הבאה מפורטים כמה מהתווים המיוחדים הנפוצים ביותר לשימוש בביטויים רגולריים. התווים האלה מחולקים לקטגוריות הבאות:
| דמויות | תיאור |
|---|---|
| עוגנים | |
| ^ | (^) מתאים לתחילת השורה או למחרוזת הטקסט שהביטוי הרגולרי מחפש. לדוגמה, כלל תוכן עם מיקום של שורת הנושא והביטוי הרגולרי הבא: ^abc תופס כל הודעת אימייל ששורת הנושא שלה מתחילה באותיות abc |
| $ | (dollar) מתאים לסוף השורה או למחרוזת הטקסט שהביטוי הרגולרי מחפש. לדוגמה, כלל תוכן עם מיקום של שורת הנושא והביטוי הרגולרי הבא: xyz$ תופס כל הודעת אימייל ששורת הנושא שלה מסתיימת באותיות xyz |
| תווים מטא | |
| . | (dot) מתאים לכל תו יחיד, למעט שורה חדשה. |
| | | | (קו אנכי) מציין חלופות – כלומר, 'או'. לדוגמה: cat|dog מתאים למילה cat או dog |
| \ | מציין שהתו הבא הוא תו מילולי ולא תו מיוחד. לדוגמה: \. מתאים לנקודה מילולית, ולא לכל תו (תו נקודה) |
| Character Classes | |
| [...] | התאמה לכל תו מתוך קבוצת תווים. מפרידים בין התו הראשון והאחרון בקבוצה באמצעות מקף. לדוגמה: [123] תואם לספרה 1, 2 או 3 [a-f] תואם לכל אות מ-a עד f הערה: הביטויים הרגולריים במדיניות בנושא תאימות תוכן הם תלויי-רישיות (case sensitive). |
| [^...] | התאמה לכל תו שלא נמצא בקבוצת התווים. לדוגמה: [^a-f]תואם לכל תו שהוא לא אות מ-a עד f הערה: הביטויים הרגולריים במדיניות בנושא תאימות תוכן הם תלויי-רישיות (case sensitive). |
| [:alnum:] | התאמה לתווים אלפאנומריים (אותיות או ספרות): a-z, A-Z או 0-9 הערה: כשמשתמשים בסוג התווים הזה בביטוי רגולרי, צריך להקיף אותו בעוד זוג סוגריים מרובעים, לדוגמה: [[:alnum:]]. |
| [:alpha:] | תואם לתווים אלפביתיים (אותיות): a-z או A-Z הערה: כשמשתמשים במחלקת התווים הזו בביטוי רגולרי, צריך להקיף אותה בעוד זוג סוגריים מרובעים, לדוגמה: [[:alpha:]]. |
| [:digit:] | תואם לספרות: 0-9 הערה: כשמשתמשים במחלקת התווים הזו בביטוי רגולרי, צריך להקיף אותה בעוד זוג סוגריים מרובעים, לדוגמה: [[:digit:]]. |
| [:graph:] | תואם רק לתווים גלויים – כלומר, כל התווים חוץ מרווחים, תווים לשליטה וכו'. הערה: כשמשתמשים במחלקת התווים הזו בביטוי רגולרי, צריך להקיף אותה בעוד קבוצה של סוגריים מרובעים, לדוגמה: [[:graph:]]. |
| [:punct:] | מתאים לתווי פיסוק ולסמלים: ! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | } הערה: כשמשתמשים במחלקת התווים הזו בביטוי רגולרי, צריך להקיף אותה בעוד זוג סוגריים מרובעים, לדוגמה: [[:punct:]]. |
| [:print:] | תואם לתווים ולרווחים שניתן לראות. הערה: כשמשתמשים במחלקת התווים הזו בביטוי רגולרי, צריך להוסיף עוד זוג סוגריים מרובעים מסביב, למשל: [[:print:]]. |
| [:space:] | תואם לכל תווי הרווח הלבן, כולל רווחים, טאבים ומעברי שורה. הערה: כשמשתמשים במחלקת התווים הזו בביטוי רגולרי, צריך להקיף אותה בעוד קבוצה של סוגריים מרובעים, לדוגמה: [[:space:]]. |
| [:word:] | התאמה לכל תו של מילה – כלומר, כל אות, ספרה או קו תחתון: a-z, A-Z, 0-9 או _ הערה: כשמשתמשים בסוג התווים הזה בביטוי רגולרי, צריך להקיף אותו בעוד זוג סוגריים מרובעים, לדוגמה: [[:word:]]. |
| Shorthand Character Classes | |
| \w | תואם לכל תו של מילה – כלומר, כל אות, ספרה או קו תחתון: a-z, A-Z, 0-9 או _ שווה ל-[:word:] |
| \W | תואם לכל תו שהוא לא תו במילה – כלומר, כל תו שהוא לא אות, ספרה או קו תחתון. שווה ל-[^[:word:]] |
| \s | מתאים לכל תו שיוצר רווח. לדוגמה, אפשר להשתמש בתו הזה כדי לציין רווח בין מילים בביטוי: stockstips תואם לביטוי stock tips שווה ל-[:space:] |
| \S | מתאים לכל תו שאינו רווח. שווה ל-[^[:space:]] |
| \d | התאמה לכל ספרה מ-0 עד 9. שווה ל-[:digit:] |
| \D | מתאים לכל תו שהוא לא ספרה מ-0 עד 9. שווה ל-[^[:digit:]] |
| קבוצה | |
| (...) | קיבוץ חלקים של ביטוי. אפשר להשתמש בקיבוץ כדי להחיל כמותן על קבוצה או כדי להתאים למחלקת תווים לפני או אחרי קבוצה. |
| כלי כמות | |
| {n} | התאמה לביטוי הקודם בדיוק n פעמים. לדוגמה: [a-c]{2} מתאים לכל אות מ-a עד c רק אם שתי אותיות מופיעות ברצף. לכן, הביטוי יתאים ל-ab ול-bc, אבל לא ל-abc או ל-aabbc. |
| {n,m} | התאמה לביטוי הקודם לפחות n פעמים ולכל היותר m פעמים. לדוגמה: [a-c]{2,4} תואם לכל אות מ-a עד c רק אם האותיות מופיעות ברצף לפחות פעמיים ולכל היותר 4 פעמים. לכן, הביטוי יתאים ל-ab ול-abc אבל לא ל-aabbc. |
| ? | מציין שהתו או הביטוי הקודמים יכולים להיות תואמים 0 פעמים או פעם אחת. שווה לטווח {0,1}. לדוגמה, הביטוי הרגולרי הבא: colou?r תואם ל-colour או ל-color, כי התו ? הופך את האות u לאופציונלית. |