רג'קס: מדריך מעשי
מה זה רג'קס?
רג'קס (Regex - Regular Expression) הוא מונח שמתאר תבנית של מחרוזת תווים. בעזרתו אפשר לחפש, לתקן ולהחליף מחרוזות שתואמות לתבנית מוגדרת.
שימושים נפוצים:
- ולידציה של קלט משתמש (טלפון, אימייל, תאריך)
- חילוץ חלק ממחרוזת
- החלפת תווים ספציפיים
- פילטור בתוך וובהוקים ואוטומציות
מתי נשתמש ברג'קס?
נרצה להשתמש ברג'קס כדי למצוא טקסט מסוים מתוך טקסט גדול יותר, למשל:
אם קיבלנו הודעה ארוכה שמכילה תאריך במבנה מסוים שאנחנו יודעים מראש (DD/MM/YYYY) ואנחנו רוצים לחלץ רק את התאריך, אם אנחנו רוצים לוודא שיש מספר בהודעה כי ביקשנו לציין מספר אנשים משתתפים, אם אנחנו רוצים לחלץ כתובת מייל או אפילו אימוג'ים.
בכל המקרים האלו נוכל להשתמש בביטוי רג'קס שיחזיר לנו רק את המידע המדויק מתוך ההודעה המלאה ולהשתמש בו בהמשך התהליך (הזנה למערכת ה-CRM שאנחנו עובדים איתה או שליחת הודעה עם הפרטים). נוכל גם לוודא שיש לנו את המידע ובמידה והוא לא קיים נבקש מהמשתמש לשלוח שוב את המידע החסר.
אבל יש AI!
נכון שאפשר לשלוח את המידע ל-AI ולבקש ממנו לחלץ את המידע שאנחנו רוצים, בחלק המקרים זה יהיה התהליך הנכון לעשות. אבל ישנם הרבה מקרים שבהם נעדיף לעבוד עם ביטוי רג'קס וצורת תכנות 'טפשה' או 'ישנה' שתהיה גם זולה יותר (בלי קריאה ל-AI כל פעם שהתהליך רץ) ולעיתים אף מדויקת יותר (אם נעבוד עם AI זול) או מהירה יותר.
ככלל, אני ממליץ לעבוד עם צורת תכנות ישנה ולא לשלב AI בתהליכים שרצים בקביעות אם אפשר להימנע מהם מהסיבות שהוזכרו קודם.
כלים מומלצים
ישנם אתרים נוחים לבניית והבנת רג'קסים, ובחלקם אף נוכל לראות ולחפש רג'קסים שיצרו משתמשים אחרים.
| כלי | שימוש |
|---|---|
| regex101.com | בניה ובדיקה של תבניות עם הסבר מפורט |
| subiregex | בקשה בשפה טבעית ("אני צריך regex למספרים בלבד") |
| ChatGPT / Claude / Gemini | יצירת regex מהירה מתיאור |
כיום, כלי ה-LLM השונים יכולים לעזור מאוד בכתיבת רג'קסים וכמעט תמיד הם יעשו עבודה טובה. מומלץ להראות להם דוגמא או כמה דוגמאות למחרוזת הטקסט שממנה נרצה לחלץ סוג מסוים, והם יבנו את הרג'קס.
תגובות
עדיין אין תגובות. היו הראשונים!
רוצים להגיב?