רג'קס: מדריך מעשי

מה זה רג'קס?

רג'קס (Regex - Regular Expression) הוא מונח שמתאר תבנית של מחרוזת תווים. בעזרתו אפשר לחפש, לתקן ולהחליף מחרוזות שתואמות לתבנית מוגדרת.

שימושים נפוצים:

  • ולידציה של קלט משתמש (טלפון, אימייל, תאריך)
  • חילוץ חלק ממחרוזת
  • החלפת תווים ספציפיים
  • פילטור בתוך וובהוקים ואוטומציות

מתי נשתמש ברג'קס?

נרצה להשתמש ברג'קס כדי למצוא טקסט מסוים מתוך טקסט גדול יותר, למשל:

אם קיבלנו הודעה ארוכה שמכילה תאריך במבנה מסוים שאנחנו יודעים מראש (DD/MM/YYYY) ואנחנו רוצים לחלץ רק את התאריך, אם אנחנו רוצים לוודא שיש מספר בהודעה כי ביקשנו לציין מספר אנשים משתתפים, אם אנחנו רוצים לחלץ כתובת מייל או אפילו אימוג'ים.

בכל המקרים האלו נוכל להשתמש בביטוי רג'קס שיחזיר לנו רק את המידע המדויק מתוך ההודעה המלאה ולהשתמש בו בהמשך התהליך (הזנה למערכת ה-CRM שאנחנו עובדים איתה או שליחת הודעה עם הפרטים). נוכל גם לוודא שיש לנו את המידע ובמידה והוא לא קיים נבקש מהמשתמש לשלוח שוב את המידע החסר.

אבל יש AI!

נכון שאפשר לשלוח את המידע ל-AI ולבקש ממנו לחלץ את המידע שאנחנו רוצים, בחלק המקרים זה יהיה התהליך הנכון לעשות. אבל ישנם הרבה מקרים שבהם נעדיף לעבוד עם ביטוי רג'קס וצורת תכנות 'טפשה' או 'ישנה' שתהיה גם זולה יותר (בלי קריאה ל-AI כל פעם שהתהליך רץ) ולעיתים אף מדויקת יותר (אם נעבוד עם AI זול) או מהירה יותר.

ככלל, אני ממליץ לעבוד עם צורת תכנות ישנה ולא לשלב AI בתהליכים שרצים בקביעות אם אפשר להימנע מהם מהסיבות שהוזכרו קודם.

כלים מומלצים

ישנם אתרים נוחים לבניית והבנת רג'קסים, ובחלקם אף נוכל לראות ולחפש רג'קסים שיצרו משתמשים אחרים.

כלי שימוש
regex101.com בניה ובדיקה של תבניות עם הסבר מפורט
subiregex בקשה בשפה טבעית ("אני צריך regex למספרים בלבד")
ChatGPT / Claude / Gemini יצירת regex מהירה מתיאור

כיום, כלי ה-LLM השונים יכולים לעזור מאוד בכתיבת רג'קסים וכמעט תמיד הם יעשו עבודה טובה. מומלץ להראות להם דוגמא או כמה דוגמאות למחרוזת הטקסט שממנה נרצה לחלץ סוג מסוים, והם יבנו את הרג'קס.

המאמר עזר? שתפו: שיתוף בווצאפ

תגובות

עדיין אין תגובות. היו הראשונים!

רוצים להגיב?

עוד מאמרים

מה זה MCP? מה זה API? היכרות עם Hookdeck