Regex
SQL#והפעם הדרך האולטימטיבית להתמודד עם מחרוזות (strings)
ביטוי מתוקנן, רגולרי (Regular expression או regex)
הוא רצף תווים שמגדיר תבנית חיפוש.
פעמים רבות ברצוננו לחפש רצף תווים מסויים בתוך שדה מילולי, כאשר לא מדובר באותיות או מספרים ספציפיים אלא בדפוס זהה - תבנית.
הערות שימוש כלליות:
כך לדוגמה,
אם ברצוני לוודא שכל הכתובות שנמצאות בעמודה של אימייל אכן עונות על הקריטריונים של אימייל כלומר תווים כלשהם מסוג אות או מספר (לפחות אחד), הסימן @, עוד תווים מסוג אות או מספר (לפחות אחד), נקודה ועוד תווים מסוג אות או מספר (לפחות אחד). אוכל ליצור באמצעות regex תבנית שכזאת ולוודא שכל הערכים בעמודה הזאת הם אכן בתבנית הרצויה.
הסימון:
\w+@\w+\.\w+
איך נשלב את זה בשאילתה?
נבחר פונקציית regex מתאימה (אני משתמשת בסינטקס של snowflake)
ונחזור לדוגמה שלנו,
במקרה הזה אני רוצה לוודא שכל הכתובות שנמצאות בעמודה של אימייל אכן עונות על הקריטריונים של אימייל, ולכן אבחר בפונקציה regexp
אם הגעתם עד לכאן, אוסיף לכם טיפ מנצח:
כלי שמאפשר לבנות, לבחון ולדבג regex
regex101
בחלון הגדול ניתן לכתוב דוגמאות, בשורה מעל ניצור תבנית של regex כך שכל דוגמה שנכללת בתבנית תהיה מסומנת.
מצד ימין נראה פירוש מפורט של כל סימן regex.
תהנו!