לא מעט פעמים אני שומע התייחסות מיוחדת לביטויים רגולריים או לפילטרים, כאילו שייכים לכלים שבהם רק המתקדמים משתמשים. אז סליחה, החלק המתקדם זה האופן בו משתמשים בביטויים אלה ולא הביטויים עצמם…
פשוט, מה זה ביטויים רגולריים או באנגלית Regular Expressions?
אלה ביטויים שיש בהם סימנים מיוחדים. לכל סימן יש משמעות לוגית מסוימת, למשל הסימן | משמעותו “או”, והסימן ^ משמעותו “מתחיל ב-“.
טבלת ביטויים רגולריים בסיסיים ניתן למצוא בתחתית הפוסט.
מתי נשמתמש בביטויים רגולריים בגוגל אנליטיקס?
האמת היא שהשימוש בביטויים אלה בגוגל אנליטיקס הוא כמעט בכל פינה. איפה? בהגדרת היעדים (Goals), בפילטרים (Filters), בלוחות בקרה (Dashboards) ואפילו בדוחות שלכם בחלק ה-Advanced של הסינון.
כל כך הרבה זמן השתמשתם בגוגל אנליטיקס ולא שמתם לב שאתם מוקפים בביטויים הרגולריים…
אז למה אנחנו צריכים את הביטויים המוזרים האלה?
בואו ניקח דוגמא ובעזרתה נבין למה אנחנו משתמשים בביטויים אלה. למשל הגדרת יעד בגוגל אנליטיקס. זוהי דוגמא שמבוססת על אתר אמיתי כמובן מבלי לחשוף שמות.
האתר מציע תהליך רכישה און-ליין שבמהלכו הגולש יכול לבחור בין 2 אפשרויות:
- לא לבצע את התשלום באינטרנט ולעבור לנציג טלפוני, ואז הגולש מתבקש להשאיר פרטים בטופס ובסוף מגיע לדף תודה על פנייתך.
- לבצע את התשלום באתר, אז הגולש מגיע לדף בו ממלא פרטי התשלום, ולאחר מכן לדף תודה על הרכישה.
בכל מקרה גם אם הגולש הגיע לדף תודה על פנייתך או דף מילוי פרטי התשלום, פרטי הגולש מועברים לנציג בחברה שבהמשך יכול נציג החברה ליצור קשר עם הפונה ולממש את המכירה. בקיצור גם אם הגולש הגיע ל”דף תודה על פנייתך” או ל”דף מילוי פרטי תשלום” זה נחשב כליד לחברה או במקרה שלנו יעד(Goal) בגוגל אנליטיקס.
כן אבל איך נוכל להגדיר את היעד הזה?
בדיוק כאן באים לעזרתנו הביטויים הרגולריים. לשם הדוגמא נניח שכתובת ה-URL של דף תודה על פנייתך יהיה: /תודה-על-פנייתך, ודף מילוי פרטי תשלום יהיה: /מילוי-פרטי-תשלום.
הרי בהגדרת היעד(Goal) אבחר את האפשרות ההתאמה Match Type השלישית Regular Expresion Match
ובתיבv אזין: /תודה-על-פנייתך|/מילוי-פרטי-תשלום
משמעות הביטוי – אם הגולש היגיע ל-URL שבו קיים הביטוי /תודה-על-פנייתך או /מילוי-פרטי-תשלום, הרי זה יחשב ליעד(Goal).
כמו שאתם רואים מהדוגמא שלמעלה בעזרת הביטויים הרגולריים נוכל להרכיב משפט לוגי בעזרתו נסביר לתוכנת גוגל אנליטיקס מה אנחנו רוצים שיה תעשה. במקרה הזה הסברנו לגוגל אנליטיקס מה יחשב לפעולת היעד(Goal). לפעולת היעד תחשב הגעת הגולש אל כתובת URL:/תודה-על פנייתך או /מילוי-פרטי-תשלום.
עוד דוגמא מצוינת
אחד השימושים השכיחים בביטויים הרגולריים בגוגל אנליטיקס הוא בדוח ה-PAGES במחלקת ה-CONTENT. הרבה פעמים אנו נרצה להסתכל אך ורק על סוג דפים מסוים באתר שלנו, כלומר לפלח חלקים מהאתר.
את זה אני בדרך כלל עושה בעזרת לחיצה על Advanced מתחת לגרף מול תיבת החיפוש. וזה מה שאני מייד רואה הוא:
עכשיו… כמו שאמרתי קודם לכן כל הדפים האלה ביחד לא ממש עוזרים לקבל שום תובנה. למה? כי הנתונים שאני רואה כלליים מדי.
במקרה זה אני רוצה להסתכל אך ורק על הפוסטים שלי. ולראות איך הפוסטים שלי בבלוג מתפקדים. המדדים שארצה לראות עבור הפוסטים יהיו: זמן שהייה בדף, באונס-רייט וכמות צפיות בדף.
בעזרת הביטויים הרגולריים אוכל לסנן את הדפים הלא רלוונטיים מתוך הדוח שלי
במקרה הזה אני (1) בחרתי לסנן – Exlude את הדפים הלא רלונטיים (2) על ידי התאמה לביטוי הרגולי Matcign RegExp .
הביטוי הרגולרי שלי יראה משהו כזה:
^/$|guide|course|about|buy|tag|category|thanku|קורס|ga|work|rss|subscriber
מה זה אומר?
סנן(Exlude) את הדפים הבאים מתוך הדוח:
– דף ראשי – ^(מתחיל ב-) / $(וגם נגמר ב-)
– דפים עם הביטוי guide, course, tag, work וכ”ו.
כך יראה הדוח של 25 הפוסטים הפופולרים של החודש האחרון 🙂
הנה רשימה של מספר ביטויים רגולריים שימושיים ומשמעותם
סדרות תווים [abc]
תווים |
||
דוגמא |
תיאור / הסבר |
ביטוי |
a תואם ל- a |
כל רצף תווים מלבד התווים המיוחדים יהיה תואם לאותו הרצף. כמובן שבמקרה שהתווים המיוחדים הם חלק הגיוני מהביטוי ההתאמה תיעשה בהתאם לביטוי. |
כל התווים מלבד התווים המיוחדים [^$.|?*+() |
+ תואם ל- + |
Backslash מבטל את ההשפעה של התווים המיוחדים והופך אותם לתווים ללא משמעות. |
(backslash) ואחריו [^$.|?*+(){} |
דוגמא |
תיאור / הסבר |
ביטוי |
פותח סדרה או קלאס של התאמה. חוקיות ההתאמה בתוך הסוגריים המורבעים תופעל אך ורק על הביטויים בתוך הסוגריים. |
[ סוגריים מרובעים |
|
[a-zA-Z0-9] תואם לכל סוג תוו או מספר |
מגדיר את תווך התווים להתאמה. |
– (hyphen) מלבד מייד לאחר פתיחת הסוגריים המרובעים [ |
[^a-d] תואם לכל התווים מלבד a,b,c,d. |
מגדיר את התווים אשר יהיה לא תואמים, כלומר מגדיר ש”אלה התווים אשר לא יתאימו”. |
^ (caret) מייד לאחר פתיחת הסוגריים [ |
נקודה |
||
דוגמא |
תיאור / הסבר |
ביטוי |
. תואם כמעט לכל תוו אפשרי |
תואם לכל תוו בודד מלבד line break, r, n. |
. (dot) |
עוגנים |
||
דוגמא |
תיאור / הסבר |
ביטוי |
^. תואם ל- a בביטוי abcndef |
תואם להתחלה של הביטוי המופיע להתאמה. התאמה נעשת על פי המיקום של הביטוי במכרוזת. |
^ (caret) |
.$ תואם ל- f בביטוי abcndef |
תואם לסוף הביטוי המופיע להתאמה. התאמה נעשת על פי הסוף של הביטוי. |
$ (dollar) |
החלפה |
||
דוגמא |
תיאור / הסבר |
ביטוי |
abc|def|xyz תואם ל-abc, def או xyz |
גורם למנוע להתאים את הביטוי המופיע בצד משאל או בצד ימין של הסימן ה-Pipe |
| (pipe) |
abc(def|xyz) תואם ל- abcdef או abcxyz |
סימן ה-pipe הוא הסימן הנמוך ביותר בסולם החשיבות. |
| (pipe) |