אפשר להגדיר סינון לפי עמידה במדיניות באמצעות ביטויים רגולריים. ביטויים רגולריים שימושיים גם בהגדרות מתקדמות אחרות של Gmail, כמו הגדרות ניתוב.
ביטוי רגולרי (regular expression או regex): שיטה להתאמה בין טקסטים לבין דפוסים. לדוגמה, ביטוי רגולרי יכול לתאר תבנית של כתובות אימייל, כתובות URL, מספרי טלפון, מספרי זיהוי של עובדים, מספרי תעודות זהות או מספרים של כרטיסי אשראי.
השימוש בביטויים רגולריים הוא כלי סטנדרטי במערכות רבות ובשפות סקריפטים. ביטויים רגולריים יכולים להיות פשוטים או מורכבים מאוד. במאמר הזה מוסבר איך להשתמש בביטויים רגולריים כשיוצרים מדיניות לסינון לפי עמידה במדיניות. מידע מפורט, כולל מדריכים ודוגמאות, זמין באתרים הבאים:
שימושים בביטויים רגולריים
באמצעות ביטויים רגולריים, אפשר ליצור מסנני תוכן שיכולים למצוא את הדברים הבאים:
תבניות טקסט: משתמשים באפשרות הזו כדי לסרוק הודעות ולחפש תבניות של אותיות, מספרים או שילוב של שניהם. לדוגמה, אפשר ליצור ביטויים רגולריים שתואמים למספרי טלפון, כתובות, מספרי עובדים ומספרי חשבונות. אפשר גם ליצור ביטוי רגולרי אחד שיכול למצוא הרבה וריאציות שונות של מילה, כמו football, footb@ll, fo0tb@ll וכן הלאה.
מילים שלמות משתמשים באפשרות הזו כדי ליצור מסננים ספציפיים יותר. לדוגמה, אפשר ליצור ביטוי רגולרי שתואם למילה foot, אבל לא למילה football. במקרה כזה, ביטוי רגולרי יכול לעזור לצמצם את מספר ההודעות הלגיטימיות שהמסנן לוכד.
טקסט עם תווים משתנים האפשרות הזו מאפשרת לסרוק הודעות כדי למצוא דפוסים שמכילים טקסט ספציפי וגם טקסט משתנה. לדוגמה, אפשר ליצור ביטוי רגולרי יחיד שתואם לכתובת URL בדפוס www.[משתנה].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 ודוגמאות לביטויים רגולריים. אפשר לעיין גם במאמר הגדרת הגדרות תאימות לתוכן.