אפשר להגדיר סינון לפי עמידה במדיניות באמצעות ביטויים רגולריים. ביטויים רגולריים שימושיים גם בהגדרות מתקדמות אחרות של Gmail, כמו הגדרות ניתוב.
ביטוי רגולרי, שנקרא גם 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 ודוגמאות לביטויים רגולריים. אפשר לעיין גם במאמר הגדרת הגדרות תאימות לתוכן.