בדיקה ובדיקת ביטויים רגולריים
בדקו ביטויים רגולריים באינטרנט. נתחו התאמות, תקנו שגיאות ובנו תבניות יעילות לחיפוש נתונים.
בדיקת RegEx
תוצאת ביטוי רגולרי
גפרורים
לא נמצאו התאמות
שְׁאֵרִית
אין תוכן שאינו תואם
בדקו ביטויים רגולריים באינטרנט. נתחו התאמות, תקנו שגיאות ובנו תבניות יעילות לחיפוש נתונים.
לא נמצאו התאמות
אין תוכן שאינו תואם
מאפשר לך לבדוק דפוסי RegExp בזמן אמת, מה שמפשט את הפיתוח וניפוי באגים של דפוסי חיפוש מורכבים.
מאפשר לך לשקול רגישות רישיות, חיפוש גלובלי, מצב ריבוי קווים והגדרות אחרות המשמשות בשפות תכנות.
מאפשר לך ליצור במהירות ביטויים לעיבוד אוטומטי של מערכי טקסט גדולים, יומנים וקוד HTML.
ביטויים רגולריים (Regex) הם שפת התאמת תבניות המשמשת לחיפוש, ולידציה ועיבוד של טקסט.
בעזרת regex אפשר:
למצוא קטעי טקסט מסוימים (למשל: אימייל, URL, מספרים)
לאמת פורמטים של נתונים (ולידציית טפסים)
להחליף ולנקות טקסט
לחלץ נתונים מובנים מתוך מחרוזות
Regex נמצאת בשימוש נרחב בפיתוח, באנליטיקת נתונים, ב-SEO ובאוטומציה.
הכלי מאפשר לבדוק ביטויים רגולריים בזמן אמת ולראות מיד את התוצאה.
בעזרתו אפשר:
לבדוק אם מחרוזת תואמת לתבנית מסוימת
לראות את כל ההתאמות בתוך טקסט
לדבג ביטויים מורכבים
לבדוק וריאציות שונות של regex בלי לכתוב קוד
ביטויים רגולריים אינם אוניברסליים לחלוטין. התמיכה בתחביר תלויה בשפת התכנות ובמנוע שבו משתמשים.
מנוע | שימוש | מאפיינים |
|---|---|---|
JavaScript (ECMAScript) | דפדפנים, Node.js | תמיכה מוגבלת ב-lookbehind (תלוי בגרסה) |
PCRE | PHP, כלים רבים | אחד המנועים החזקים ביותר |
Python (re) | Python | חסרות בו חלק מיכולות PCRE |
Java (Pattern) | Java | תחביר קפדני |
.NET | C# | יכולות מורחבות |
יש לבדוק תמיד את ה-regex בסביבה שבה הוא ישמש בפועל. חשוב לשים לב להבדלים בתמיכה ב-lookbehind וב-Unicode. לפתרונות חוצי-פלטפורמות עדיף להשתמש בתבניות פשוטות יותר.
דגלים הם פרמטרים שמשנים את אופן עיבוד התבנית. הם מאפשרים לשלוט ברישיות, בטווח החיפוש (שורה אחת או כמה שורות) ובאופן הפרשנות של תווים.
דגל | משמעות |
|---|---|
i | התעלמות מרישיות |
g | חיפוש גלובלי |
m | מצב רב-שורות |
s | Dotall (כולל \n בתוך .) |
u | Unicode |
סוג | סימן | תיאור |
|---|---|---|
עוגנים (מיקומים) | ^ | תחילת המחרוזת |
עוגנים (מיקומים) | $ | סוף המחרוזת |
עוגנים (מיקומים) | \b | גבול מילה |
עוגנים (מיקומים) | \B | לא גבול מילה |
מטא-תווים | . | מתאים לכל תו מלבד שורה חדשה (\n) |
מטא-תווים | | | אופרטור OR |
מטא-תווים | \ | תו escape |
ליטרלים | a | התו “a” |
ליטרלים | ab | המחרוזת “ab” |
כמתים | * | 0 או יותר חזרות |
כמתים | ? | 0 או 1 חזרה |
כמתים | + | 1 או יותר חזרות |
כמתים | {5} | בדיוק 5 חזרות |
כמתים | {5,} | 5 או יותר חזרות |
כמתים | {5,10} | בין 5 ל-10 חזרות |
מחלקות תווים | \s | רווח לבן |
מחלקות תווים | \S | לא רווח לבן |
מחלקות תווים | \w | תו מילה (אותיות/ספרות/קו תחתון) |
מחלקות תווים | \W | לא תו מילה |
מחלקות תווים | \d | ספרה |
מחלקות תווים | \D | לא ספרה |
רצפי Escape | [\b] | Backspace |
רצפי Escape | \c | תו בקרה |
רצפי Escape | \n | שורה חדשה |
רצפי Escape | \t | טאב |
רצפי Escape | \r | החזרת סמן |
רצפי Escape | \ZZZ | תו אוקטלי |
רצפי Escape | \xZZ | תו הקסדצימלי |
רצפי Escape | \0 | תו null |
רצפי Escape | \v | טאב אנכי |
קבוצות | (xyz) | קבוצה לוכדת |
קבוצות | (?:xyz) | קבוצה לא לוכדת |
קבוצות טווחים ומבחרים | [xyz] | אחד מתוך x, y או z |
קבוצות טווחים ומבחרים | [^xyz] | כל תו שאינו x, y או z |
קבוצות טווחים ומבחרים | [a-q] | טווח מ-a עד q |
קבוצות טווחים ומבחרים | [0-7] | טווח מ-0 עד 7 |
תבניות החלפה | $` | הטקסט שלפני ההתאמה |
תבניות החלפה | $' | הטקסט שאחרי ההתאמה |
תבניות החלפה | $+ | הקבוצה הלוכדת האחרונה |
תבניות החלפה | $& | כל ההתאמה |
תבניות החלפה | $n | הקבוצה הלוכדת ה-n (למשל $1, $2) |
Lookarounds | (?=xyz) | lookahead חיובי |
Lookarounds | (?!xyz) | lookahead שלילי |
Lookarounds | (?<=xyz) | lookbehind חיובי |
Lookarounds | (?<!xyz) | lookbehind שלילי |
הערות | (?#comment) | הערה (המנוע מתעלם ממנה) |
משימה | Regex |
|---|---|
ספרות בלבד | ^\d+$ |
אותיות לטיניות בלבד | ^[A-Za-z]+$ |
תאריך (DD.MM.YYYY) | \d{2}\.\d{2}\.\d{4} |
דומיין | ^[a-z0-9.-]+\.[a-z]{2,}$ |
URL | https?:\/\/[^\s]+ |
Slug | ^[a-z0-9-]+$ |
Email (בסיסי) | ^[^\s@]+@[^\s@]+\.[^\s@]+$ |
Email (מחמיר) | ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$ |
טלפון (כללי) | ^\+?\d{7,15}$ |
תגיות HTML | <[^>]+> |
סיסמה חזקה | ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{12,}$ |
UUID | ^[0-9a-fA-F-]{36}$ |
צבע HEX | ^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ |
IP (IPv4) | ^(\d{1,3}\.){3}\d{1,3}$ |
כתובת MAC | ^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$ |
ביטויים רגולריים נראים לעיתים פשוטים, אבל הם כוללים הרבה ניואנסים נסתרים. הנה כמה טעויות נפוצות שמובילות לתוצאות שגויות.
שכחת escape: . מתאים לכל תו, לא לנקודה מילולית → יש להשתמש ב-\.
שימוש שגוי בכמתים: *, +, {} חלים על האלמנט הקודם, לא על כל המחרוזת
בלבול בין greedy ל-lazy: .* הוא greedy → השתמשו ב-.*? כדי לקבל התאמה מינימלית
חסרים עוגנים ^ ו-$: בלעדיהם ההתאמה יכולה להתרחש בכל מקום במחרוזת
רגישות לרישיות: "Test" ≠ "test" → השתמשו בדגל i לפי הצורך
בלבול עם רווחים: \s כולל טאבים, ירידות שורה וכו’, לא רק רווח רגיל
שימוש ב-\w עבור Unicode: ברוב המנועים \w = [A-Za-z0-9_] בלבד
ניסיון לנתח פורמטים מורכבים (HTML, JSON) באמצעות regex: לא אמין → עדיף להשתמש ב-parser ייעודי
תבניות מורכבות מדי: קשות לתחזוקה ולדיבוג
כמתים מקוננים: למשל (.*)+ עלול לגרום ל-catastrophic backtracking
תבניות לא תחומות: .* ללא מגבלות עלול להאט עיבוד של מחרוזות גדולות
שימו לב שביטויים רגולריים בכלי זה מעובדים לפי תקן ECMAScript (JavaScript RegExp). המשמעות היא שההתנהגות של דפוסים מתאימה לאופן שבו הם פועלים בדפדפן או בקוד JavaScript. מבנים מסוימים, כגון בריחה של תווים (/ ו/), עשויים להתנהג באותו אופן, גם אם הם נראים אחרת. אם אתה רגיל לביטויים רגולריים בשפות אחרות (לדוגמה, Python,PHP, .NET או POSIX), שים לב שייתכן שיש להם הבדלים בתחביר ובלוגיקה התאמת.
כלי זה מאפשר לך לבדוק ביטויים רגולריים (RegEx) ולבדוק את יכולת הפעולה שלהם. RegEx נמצא בשימוש נרחב בתכנות, עיבוד נתונים וניתוח SEO.
בעזרתו תוכלו לחפש, להחליף ולנתח דפוסי טקסט, ולפשט את העבודה עם כמויות גדולות של נתונים.
ביטויים רגולריים (רגקס) הם כלים רבי עוצמה להתאמת דפוסים לחיפוש, אימות ומניפולציה של טקסט. הם חיוניים עבור אימות נתונים, פעולות חיפוש ומשימות עיבוד טקסט.
בודק הביטוי הרגולרי שלנו מאפשר לך להזין דפוסים ולבדוק מחרוזות כדי לראות התאמות בזמן אמת. אתה יכול להתנסות עם דפוסים שונים ולראות אילו חלקים בטקסט שלך תואמים לביטוי.
דפוסים נפוצים כוללים אימות דוא"ל, מספרי טלפון, תאריכים, כתובות אתרים ומיקוד. למד מטא-תווים בסיסיים כמו ., *, +, ?, ^, $ ומחלקות תווים כמו \d, \w, \s.
הדגלים הנפוצים כוללים i (לא תלוי רישיות), g (חיפוש גלובלי), m (מצב ריבוי שורות) ו-u (תמיכה ב-Unicode). הם עוזרים לשלוט בחיפוש ובהתאמה בצורה מדויקת יותר.
דפוסים מורכבים עם עקיבה לאחור יכולים להיות איטיים בטקסטים גדולים. בצע אופטימיזציה על ידי היותו ספציפי, הימנעות מכימות מקוננות ושימוש בעוגנים (^ ו-$) במידת האפשר. בדיקת ביצועים עם גדלי נתונים מציאותיים.
קבוצות לכידה הן חלקים מביטוי רגולרי (מוגדר בסוגריים) המאפשרים לחלץ תת-סעיפים ספציפיים של הטקסט התואמים לתבנית. זה שימושי עבור עיצוב מחדש או חילוץ נתונים ספציפיים.
מכמתים 'חמדנים' (למשל, `.*`) ינסו להתאים לכמה שיותר תווים. מכמתים 'עצלים' (למשל, `.*?`) ינסו להתאים כמה שפחות תווים. הבחירה תלויה בהתנהגות ההתאמה הרצויה.
רוב יישומי הביטוי הרגולרי המודרניים תומכים ב-Unicode, המאפשרים התאמת תווים בשפות ואלפבית שונות. עם זאת, תמיכה מדויקת יכולה להשתנות בין שפות תכנות וכלים.