אפשר להגדיר סינון לפי עמידה במדיניות באמצעות ביטויים רגולריים. ביטויים רגולריים שימושיים גם בהגדרות מתקדמות אחרות של Gmail, כמו הגדרות ניתוב.
ביטוי רגולרי (regular expression או regex): שיטה להתאמה בין טקסטים לבין דפוסים. לדוגמה, ביטוי רגולרי יכול לתאר את התבנית של כתובות אימייל, כתובות URL, מספרי טלפון, מספרי זיהוי של עובדים, מספרי תעודות זהות או מספרים של כרטיסי אשראי.
השימוש בביטויים רגולריים הוא כלי סטנדרטי במערכות רבות ובשפות סקריפטים. ביטויים רגולריים יכולים להיות פשוטים או מורכבים מאוד. במאמר הזה מוסבר איך להשתמש בביטויים רגולריים כשיוצרים מדיניות לסינון לפי עמידה בדרישות. מידע מפורט, כולל הדרכות ודוגמאות, זמין באתרים הבאים:
שימושים בביטויים רגולריים
באמצעות ביטויים רגולריים, אפשר ליצור מסנני תוכן שיכולים למצוא את הדברים הבאים:
תבניות טקסט: משתמשים באפשרות הזו כדי לסרוק הודעות ולחפש בהן תבניות של אותיות, מספרים או שילוב של שניהם. לדוגמה, אפשר ליצור ביטויים רגולריים שתואמים למספרי טלפון, כתובות, מספרי עובדים ומספרי חשבונות. לחלופין, אפשר ליצור ביטוי רגולרי שיכול למצוא הרבה וריאציות שונות של מילה, כמו football, footb@ll, fo0tb@ll וכן הלאה.
מילים שלמות האפשרות הזו מאפשרת ליצור מסננים ספציפיים יותר. לדוגמה, אפשר ליצור ביטוי רגולרי שתואם למילה foot, אבל לא למילה football. במקרה כזה, ביטוי רגולרי יכול לעזור לצמצם את מספר ההודעות הלגיטימיות שהמסנן לוכד.
טקסט עם תווים משתנים האפשרות הזו מאפשרת לסרוק הודעות כדי למצוא דפוסים שמכילים טקסט ספציפי וגם טקסט משתנה. לדוגמה, אפשר ליצור ביטוי רגולרי יחיד שתואם לכתובת URL בדפוס www.[variable].com, כמו www.abc1.com, www.abc2.com ו-www.abc3.com.
שיטות מומלצות ליצירת ביטויים רגולריים
אם יוצרים ביטוי רגולרי לא יעיל, יכול להיות שסינון התאימות לתוכן יפעל לאט. בהודעות עם נמען אחד בלבד, יכול להיות שהשליחה של ההודעה תתעכב בכמה שניות. עם זאת, אם להודעה יש כמה נמענים, ההשפעה גדולה יותר ויכולה לגרום לדחיית ההודעה (ההודעה לא נשלחת לנמענים המיועדים כי חלף הזמן שהוקצב לשליחה).
כדי להימנע מיצירת ביטויים רגולריים שפועלים לאט, מומלץ:
- מומלץ להימנע משימוש בביטויים רגולריים לרשימות של מילים בודדות. במקום זאת, כדאי להשתמש במדיניות בנושא תוכן פסול.
כדאי לקצר את הביטוי הרגולרי ולפשט אותו ככל האפשר על ידי איחוד של אלמנטים חוזרים. לדוגמה, כדי ליצור מסנן שמבוסס על כמה ביטויים, משנים את הביטוי הרגולרי הבא:
(\W|^)phrase 1(\W|$)|(\W|^)phrase 2(\W|$)|(\W|^)phrase 3(\W|$)
לזה:
(\W|^)(phrase 1|phrase 2|phrase 3)(\W|$)
הוראות מפורטות והנחיות זמינות במאמרים RE2 Syntax וExamples of Regular Expressions. אפשר לעיין גם במאמר הגדרת תאימות תוכן.