רג'קס
הסבר כללי על רג'קס + מספר רג'קסים לשימוש
Shay digital services
עדכון אחרון לפני שנה
מה זה רג'קס?
רג'קס הוא מונח שמתאר תבנית של מחרוזת תווים. המונח מקורו במתמטיקה ונכנס לשימוש נרחב במדעי המחשב.
התבנית המתארת את רג'קס מאפשרת לבצע חיפוש, תיקון והחלפה של מחרוזות תואמות לתבנית זו.
בשפות תכנות רבות, רג'קס משמש לבדיקת תקינות של קלט מהמשתמש ולטיפול במחרוזות.
לדוגמא, אם אני רוצה למצוא את כל המספרים מתוך המחרוזת שלי שמכילה מספרים וטקסט, אוכל לעשות זאת בעזרת הרג'קס המתאים. וכן להיפך - אם ארצה לקחת רק את הטקסט ולא את המספרים, אוכל להגדיר את הרג'קס בהתאם.
• כדאי לדעת שיש מספר שיטות לבניית רג'קסים וזה ממש תחום שצריך בו ידע, באתי כאן רק לסקור בצורה מקיפה מלמעלה על הנושא ולתת רג'קסים נפוצים לשימוש.
אתרים מומלצים לרג'קסים
אתר regex101 הוא אתר מוכר לבניית ובדיקת רג'קסים, ובנוסף מסביר על הרג'קס שלנו וגם מכיל הסבר כללי על ביטויים ברג'קס (מימין למטה).
אם נסתכל בתפריט צד משמאל נראה ספריה המכילה אוסף של רג'קסים שונים שנכתבו בידי משתמשים, אפשר להיעזר שם ולחפש את הרג'קס שאנחנו צריכים.
בנוסף למי שמשתמש בקוד, אפשר להמיר את הרג'קס שעובד לנו ישירות לקוד בפונקציה למטה בתפריט 'code generator'.
כלי הAI השונים כמו צ'אטGPT, קלוד, ג'מיני ומן הסתם גם אחרים די טובים ביצירת רג'קס ואפשר להיעזר בהם.
באתר subiregex ניתן לכתוב את הרג'קס שאנחנו מחפשים ('אני צריך רג'קס למספרים בלבד ללא טקסט') והוא יחזיר לנו רג'קס מתאים, יחד עם הסבר איך הרג'קס בנוי.
מספר רג'קסים שימושיים
את הרג'קסים אפשר לכתוב במגוון דרכים שונות, תוכלו גם תוך כדי קריאה כאן לראות שאפשר לכתוב גם אחרת ולהגיע לאותה התוצאה בדרך שונה, זה לא משנה.
רג'קס לטקסט ללא מספר
הרג'קס תופס גם סימונים שונים כגון פסיקים, נקודות ורווחים, אבל לא מספרים.
רג'קס למספרים
יחזיר לנו את כל המספרים שקיימים במחרוזת. אפשר גם לבחור מספרים ספציפיים יותר בצורה בזאת:
הרג'קס הזה יחזיר לנו רק מספרים מאחת עד חמש, שאר המספרים לא יוחזרו.
נוכל גם לשלוט בקיבוץ של התוצאות, למשל שיחזיר כל חמישה מספרים בקבוצה אחת:
רג'קס ללא-מספר
כדי להחזיר את כל התווים במחרוזת שהם לא-מספריים נכתוב את הרג'קס הבא:
הפלוס בסוף מקבץ לנו את כל הקטע עד המספר הבא, אם רוצים לקבל כל תו בנפרד אפשר להוריד אותו.
רג'קס למספרי טלפון מקומיים
הרג'קס הבא ימצא לנו מספרי טלפון בפורמטים הבאים:
- מספרי טלפון קוויים שמתחילים ב-02/03
- מספרי טלפון ניידים שמתחילים ב-05
רג'קס למייל
מבדיקה שלי עם כמה כתובות מייל זה עובד טוב, במקרה שבכתובת היה '+' זה שיבש ולא מצא. אפשר לנסות גם את הרג'קס הזה שעבד גם עם פלוס:
רג'קס לתאריך ללא שעה
הרג'קס תופס תאריך בפורמט dd/MM/yyyy וכן בפורמט dd.MM.yyyy.
רג'קס לשעה עם תאריך
הרג'קס תופס תאריך בפורמט dd/MM/yyyy וכן בפורמט dd.MM.yyyy, עם רווח או סימן 'T' לאחר התאריך ואז תופס את השעה, נקודותיים ואת הדקות.
רג'קס לאימוג'ים
הרג'קס תופס תווים שהם לא אותיות, מספרים או סימני פיסוק.