בודק תבניות רג'קס
תוצאות התאמה
הכנס תבנית וטקסט לבדיקה כדי לראות תוצאות
שמור תבנית
תוצאות התאמה
הכנס תבנית וטקסט לבדיקה כדי לראות תוצאות
תבניות שמורות
אין תבניות שמורות עדיין
מדריך סימני רג'קס
.
מתאים לכל תו פרט לתו שורה חדשה\d
מתאים לכל ספרה (0-9)\D
מתאים לכל תו שאינו ספרה\w
מתאים לכל תו מילה (a-z, A-Z, 0-9, _)\W
מתאים לכל תו שאינו תו מילה\s
מתאים לכל תו רווח\S
מתאים לכל תו שאינו רווח^
מתאים להתחלת שורה$
מתאים לסוף שורה*
מתאים ל-0 או יותר מהתו הקודם+
מתאים ל-1 או יותר מהתו הקודם?
מתאים ל-0 או 1 מהתו הקודם{n}
מתאים בדיוק ל-n מהתו הקודם{n,}
מתאים לפחות ל-n מהתו הקודם{n,m}
מתאים בין n ל-m מהתו הקודם[abc]
מתאים לכל אחד מהתוים בסוגריים[^abc]
מתאים לכל תו שאינו בסוגריים(abc)
קבוצות מספר טוקנים יחד ותופס את ההתאמהa|b
מתאים או ל-a או ל-b\b
מתאים למיקום גבול מילהבודק ומאמת דפוסי רגקס
מבוא
בודק דפוסי רגקס (רגולרי אקספרשן) הוא כלי חיוני למפתחים, אנליסטים של נתונים וכל מי שעובד עם עיבוד טקסט. מאמת דפוסי רגקס מקיף זה מאפשר לך ליצור, לבדוק ולשפר דפוסים רגולריים בזמן אמת, ומספק משוב חזותי מידי על התאמות דפוס. בין אם אתה מאמת כתובות דוא"ל, מנתח קבצי יומן או שולף נתונים ספציפיים מטקסט, בודק הרגקס שלנו מקצר ומקל את תהליך הפיתוח והניפוי.
רגולרי אקספרשן הם רצפים רבי עוצמה שמתאימים דפוסים המאפשרים חיפוש טקסט, אימות ומניפולציה מתקדמים. עם זאת, הסינטקס שלהם יכול להיות מורכב ומאתגר לשליטה. בודק דפוסי רגקס זה מפשט את התהליך על ידי הדגשת התאמות תוך כדי הקלדה, אימות סינטקס הדפוס, ואפשרות לשמור דפוסים בשימוש תכוף לעיון עתידי.
כיצד להשתמש בבודק דפוסי רגקס
שימוש במאמת דפוסי רגקס שלנו הוא פשוט ואינטואיטיבי. עקוב אחרי הצעדים הבאים כדי להתחיל:
-
הזן דפוס רגולרי: הקלד את דפוס הרגקס שלך בשדה הקלט המיועד. הכלי מאמת את הדפוס שלך בזמן אמת, ומתריע על כל שגיאות סינטקס.
-
בחר דגלי רגקס: בחר את הדגלים המתאימים לדפוס שלך:
g
(גלובלי): מצא את כל ההתאמות במקום לעצור אחרי ההתאמה הראשונהi
(לא רגיש לאותיות גדולות/קטנות): הפוך את הדפוס ללא רגיש לאותיות גדולות/קטנותm
(רב שורות): הפוך את^
ו-$
להתאים להתחלה/סוף של כל שורה- מגוון שילובים של דגלים אלו זמינים בתפריט הנפתח
-
הזן טקסט לבדיקה: הזן את הטקסט שברצונך לבדוק מול הדפוס שלך באזור הטקסט לבדיקה.
-
צפה בתוצאות בזמן אמת: תוך כדי הקלדה, הכלי אוטומטית:
- מדגיש את כל ההתאמות בדפוס בטקסט לבדיקה
- מציג את מספר ההתאמות הכולל שנמצאו
- מציין אם הדפוס מתאים לכל הטקסט
-
שמור דפוסים שימושיים: עבור דפוסים שאתה משתמש בהם לעיתים קרובות:
- הזן תווית תיאורית לדפוס שלך
- לחץ על כפתור "שמור"
- גש לדפוסים השמורים שלך מהקטע "דפוסים שמורים"
-
העתק תוצאות: השתמש בכפתור "העתק התאמות" כדי להעתיק את כל הטקסט המתואם ללוח שלך לשימוש ביישומים אחרים.
הממשק מחולק לשני פאנלים עיקריים: פאנל הקלט שבו אתה מזין את הדפוס ואת הטקסט לבדיקה, ופאנל התוצאות המראה התאמות ומידע על הדפוס.
יסודות רגולרי אקספרשן
רגולרי אקספרשן משתמשים בתווים ובסדרים מיוחדים כדי להגדיר דפוסי חיפוש. הנה מדריך לסמלים הבסיסיים של רגקס הנתמכים על ידי הכלי שלנו:
התאמת תווים
סימן | תיאור | דוגמה | תואם |
---|---|---|---|
. | תואם כל תו מלבד תו שורה חדשה | a.c | "abc", "adc", "a1c" וכו' |
\d | תואם כל ספרה (0-9) | \d{3} | "123", "456", "789" וכו' |
\D | תואם כל תו שאינו ספרה | \D+ | "abc", "xyz" וכו' |
\w | תואם כל תו מילולי (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123" וכו' |
\W | תואם כל תו שאינו מילולי | \W+ | "!@#", " + " וכו' |
\s | תואם כל תו רווח | a\sb | "a b", "a\tb" וכו' |
\S | תואם כל תו שאינו רווח | \S+ | "abc", "123" וכו' |
עוגני מיקום
סימן | תיאור | דוגמה | תואם |
---|---|---|---|
^ | תואם את תחילת השורה | ^abc | "abc" בתחילת שורה |
$ | תואם את סוף השורה | abc$ | "abc" בסוף שורה |
\b | תואם גבול מילולי | \bword\b | "word" כמילה שלמה |
כמותנים
סימן | תיאור | דוגמה | תואם |
---|---|---|---|
* | תואם 0 או יותר מהתו הקודם | a*b | "b", "ab", "aab" וכו' |
+ | תואם 1 או יותר מהתו הקודם | a+b | "ab", "aab", "aaab" וכו' |
? | תואם 0 או 1 מהתו הקודם | colou?r | "color", "colour" |
{n} | תואם בדיוק n מהתו הקודם | a{3} | "aaa" |
{n,} | תואם לפחות n מהתו הקודם | a{2,} | "aa", "aaa", "aaaa" וכו' |
{n,m} | תואם בין n ל-m מהתו הקודם | a{2,4} | "aa", "aaa", "aaaa" |
מחלקות תווים
סימן | תיאור | דוגמה | תואם |
---|---|---|---|
[abc] | תואם כל אחד מהתווים שבסוגריים | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | תואם כל תו שאינו בסוגריים | [^aeiou] | כל תו מלבד "a", "e", "i", "o", "u" |
[a-z] | תואם כל תו בטווח | [a-z] | כל אות קטנה |
קבוצות ואלטרנטיבה
סימן | תיאור | דוגמה | תואם |
---|---|---|---|
(abc) | מקבץ מספר טוקנים יחד ומקבל את ההתאמה | (abc)+ | "abc", "abcabc" וכו' |
a|b | תואם או a או b | cat|dog | "cat", "dog" |
דפוסי רגקס מתקדמים
לאחר ששלטת ביסודות, תוכל ליצור דפוסים מתקדמים יותר כדי לפתור אתגרים מורכבים בעיבוד טקסט:
אימות כתובת דוא"ל
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
דפוס זה מאמת כתובות דוא"ל על ידי הבטחה שהן עוקבות אחרי הפורמט הסטנדרטי: שם משתמש@דומיין.tld.
אימות URL
^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
דפוס זה מאמת URL, כולל אלו עם או בלי פרוטוקול http/https.
אימות מספר טלפון (פורמט אמריקאי)
^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
דפוס זה תואם מספרי טלפון אמריקאיים בפורמטים שונים: (123) 456-7890, 123-456-7890, או 1234567890.
אימות תאריך (YYYY-MM-DD)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
דפוס זה מאמת תאריכים בפורמט YYYY-MM-DD, עם אימות בסיסי לטווחי חודשים וימים.
חיפוש קדימה וחיפוש אחורה
חיפוש קדימה וחיפוש אחורה מאפשרים לך להתאים דפוסים רק אם הם מלוּוים או קודמים על ידי דפוס אחר:
- חיפוש קדימה חיובי:
a(?=b)
תואם "a" רק אם הוא מלוּוה ב-"b" - חיפוש קדימה שלילי:
a(?!b)
תואם "a" רק אם הוא לא מלוּוה ב-"b" - חיפוש אחורה חיובי:
(?<=a)b
תואם "b" רק אם הוא קודם על ידי "a" - חיפוש אחורה שלילי:
(?<!a)b
תואם "b" רק אם הוא לא קודם על ידי "a"
עבודה עם דגלי רגקס
בודק הרגקס שלנו תומך במגוון דגלים שמשנים את אופן ההתאמה של הדפוסים:
- g (גלובלי): מצא את כל ההתאמות במקום לעצור אחרי ההתאמה הראשונה
- i (לא רגיש לאותיות גדולות/קטנות): הפוך את הדפוס ללא רגיש לאותיות גדולות/קטנות
- m (רב שורות): הפוך את
^
ו-$
להתאים להתחלה/סוף של כל שורה - שילובים: ניתן לשלב דגלים לצרכים מורכבים יותר של התאמה
שימושים לבדיקת דפוסי רגקס
רגולרי אקספרשן יש יישומים מעשיים רבים בתחומים שונים:
פיתוח אתרים
-
אימות טפסים: ודא שהקלטים של המשתמשים תואמים לפורמטים הנדרשים:
- כתובות דוא"ל:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
- סיסמאות (עם דרישות מורכבות):
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
- URL:
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
- כתובות דוא"ל:
-
ניתוח HTML: שלוף אלמנטים או תכנים ספציפיים:
- מצא את כל תגי התמונה:
<img[^>]+src="([^">]+)"
- שלוף קישורים:
<a[^>]+href="([^">]+)"
- מצא את כל תגי התמונה:
עיבוד נתונים
-
ניתוח קבצי יומן: שלוף מידע מתוך רשומות יומן:
- כתובות IP:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
- חותמות זמן:
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
- הודעות שגיאה:
ERROR: .*
- כתובות IP:
-
ניתוח CSV: עבד ערכים מופרדים בפסיקים עם שדות צוטטים פוטנציאליים:
- תואם שדה CSV:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
- תואם שדה CSV:
עיבוד טקסט
-
מצא והחלף: זיהוי דפוסים להחלפה:
- הסר תגי HTML:
<[^>]*>
- עיצוב מספרי טלפון:
(\d{3})(\d{3})(\d{4})
→($1) $2-$3
- הסר תגי HTML:
-
שליפת תוכן: שלוף מידע ספציפי מטקסט לא מובנה:
- שלוף תאריכים:
\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
- מצא ערכים כספיים:
\$\d+(?:\.\d{2})?
- שלוף תאריכים:
תכנות וקידוד
-
הדגשת סינטקס: זיהוי מבני שפה:
- משתנים ב-JavaScript:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
- הגדרות פונקציה:
function\s+([a-zA-Z_$][\w$]*)\s*\(
- משתנים ב-JavaScript:
-
שיפור קוד: מצא דפוסים שדורשים עדכון:
- קריאות API מיושנות:
\.oldMethod\(
- פונקציות לא בטוחות:
eval\(
- קריאות API מיושנות:
שמירה וניהול דפוסים
בודק דפוסי הרגקס שלנו כולל מערכת ניהול דפוסים המאפשרת לך לשמור ולהשתמש מחדש בדפוסים שלך בשימוש תכוף:
מתי לשמור דפוסים
שקול לשמור דפוסים ש:
- אתה משתמש בהם לעיתים קרובות בפרויקטים שונים
- הם מורכבים וקשים לזכור
- משמשים למטרות אימות ספציפיות בעבודתך
- שיפרת לאחר מספר חזרות
שיטות עבודה מומלצות עבור תוויות דפוסים
כאשר אתה שומר דפוסים, השתמש בתוויות תיאוריות ש:
- מציינות את מטרת הדפוס (למשל, "מאמת דוא"ל")
- מציינות פורמטים ספציפיים (למשל, "מספר טלפון אמריקאי")
- כוללות מידע על גרסה אם אתה משפר דפוסים (למשל, "מאמת URL v2")
- קצרות אך אינפורמטיביות
ארגון דפוסים
ארגן את הדפוסים השמורים שלך לפי:
- פונקציה (אימות, שליפה, החלפה)
- תחום (פיתוח אתרים, עיבוד נתונים)
- מורכבות (בסיסי, מתקדם)
- תדירות שימוש
שיתוף דפוסים
בעוד שהכלי שלנו לא תומך ישירות בשיתוף דפוסים בין משתמשים, אתה יכול:
- להעתיק דפוסים כדי לשתף עם קולגות
- לתעד את הדפוסים שלך במאגר משותף
- לכלול תיאורי דפוסים בתיעוד הפרויקט
פתרון בעיות נפוצות עם רגקס
אפילו מפתחים מנוסים נתקלים באתגרים עם רגולרי אקספרשן. הנה פתרונות לבעיות נפוצות:
שגיאות סינטקס
אם הדפוס שלך מציג שגיאת אימות:
- בדוק אם יש סוגריים, סוגריים או מסגרות לא תואמים
- ודא שהתווים המיוחדים ברוּת ב-backslash
- אמת שכמותנים יש להם תו או קבוצה קודמת
- חפש סינטקס לא חוקי של מחלקת תווים
בעיות ביצועים
אם הרגקס שלך איטי או גורם לעיכוב בדפדפן:
- הימנע משימוש מופרז בכמותנים מקוננים (למשל,
(a+)+
) - היזהר עם חיפושים קדימה ואחורה בטקסטים גדולים
- שקול להשתמש בדפוסים מדויקים יותר במקום בדפוסים רחבים
- פרק דפוסים מורכבים לחלקים קטנים יותר וניתנים לניהול
התאמות לא צפויות
אם הדפוס שלך תואם טקסט לא רצוי:
- השתמש בעוגנים (
^
ו-$
) כדי להתאים מיתרים שלמים - הפוך את מחלקות התווים למדויקות יותר
- הוסף גבולות מילוליים (
\b
) היכן שצריך - השתמש בחיפושים קדימה שליליים כדי לשלול דפוסים מסוימים
אין התאמות שנמצאו
אם הדפוס שלך לא תואם טקסט צפוי:
- בדוק בעיות רגישות לאותיות (שקול להשתמש בדגל
i
) - אמת שהתווים המיוחדים ברוּת
- נסה את הדפוס שלך על דוגמאות פשוטות קודם
- ודא שאתה משתמש במחלקות התווים הנכונות
חלופות לרגולרי אקספרשן
בעוד שרגקס הוא כלי רב עוצמה, הוא לא תמיד הפתרון הטוב ביותר לכל משימת עיבוד טקסט:
שיטות מיתר
עבור פעולות טקסט פשוטות, שיטות מיתר מקומיות לרוב ברורות ויעילות יותר:
String.indexOf()
למציאת תתי מיתריםString.startsWith()
ו-String.endsWith()
לבדוק גבולות מיתרString.split()
עבור טוקניזציה בסיסית
מפענחים מיוחדים
עבור פורמטים של נתונים מובנים, מפענחים ייעודיים הם יותר עמידים:
- מפענחי JSON עבור נתוני JSON
- מפענחי XML/HTML עבור שפות סימון
- מפענחי CSV עבור נתונים טבלאיים
עיבוד שפה טבעית (NLP)
כדי להבין את משמעות הטקסט ולא רק דפוסים:
- כלים לניתוח סנטימנט
- זיהוי ישויות שמיות
- תיוג חלקי דיבור
מתי לבחור חלופות
שקול חלופות לרגקס כאשר:
- מבנה הטקסט הוא מאוד רגיל ופשוט
- הפורמט יש לו מפענח סטנדרטי זמין
- אתה צריך להבין משמעות סמנטית
- הביצועים חשובים לטקסטים מאוד גדולים
שאלות נפוצות
מה זה רגולרי אקספרשן?
רגולרי אקספרשן (רגקס) הוא רצף של תווים המגדיר דפוס חיפוש. דפוסים אלו יכולים לשמש לחיפוש מיתרים, התאמה ופעולות מניפולציה טקסטואליות.
למה אני צריך בודק דפוסי רגקס?
בודק דפוסי רגקס עוזר לך לפתח ולנפות רגולרי אקספרשן על ידי מתן משוב חזותי מידי על התאמות, אימות סינטקס דפוס, ואפשרות להתנסות בדפוסים ודגלים שונים מבלי להטמיע אותם בקוד קודם.
כיצד אני תואם תו מיוחד ליטרלי כמו נקודה או כוכבית?
כדי להתאים תווים מיוחדים ליטרליים שיש להם משמעות מיוחדת ברגקס, עליך לברר אותם עם backslash. לדוגמה, כדי להתאים נקודה ליטרלית, השתמש ב-\.
במקום ב-.
.
מה ההבדל בין .*
ל-.*?
בדפוס רגקס?
ה-.*
הוא כמותן גרידי שמתאים לכמה שיותר תווים, בעוד ש-.*?
הוא כמותן עצלן (לא גרידי) שמתאים לכמה שפחות תווים. הבחנה זו חשובה כאשר אתה רוצה למצוא את ההתאמה הקצרה ביותר ולא הארוכה ביותר.
האם אני יכול להשתמש בבודק הרגקס הזה לדפוסים בכל שפת תכנות?
בעוד שסינטקס הרגקס הבסיסי דומה ברוב השפות, ישנם הבדלים עדינים ביישום. הבודק שלנו משתמש במנוע הרגקס של JavaScript, שהוא תואם לרבות מהשפות הווב אך עשוי להיות שונה מרגקס בשפות כמו Python, Java או Perl.
כיצד אני מאמת מיתר שלם עם רגקס?
כדי לאמת שמיתר שלם תואם דפוס, השתמש בעוגן ^
בתחילת הדפוס ובעוגן $
בסופו. לדוגמה, ^[0-9]+$
יתאים רק למיתרים המורכבים לחלוטין מספרים.
מה הם קבוצות תופסות וכיצד אני משתמש בהן?
קבוצות תופסות, שנוצרות עם סוגריים ()
, מאפשרות לך לשלוף חלקים ספציפיים מהטקסט המתואם. בבודק שלנו, תוכל לראות את כל ההתאמות, כולל קבוצות תפסות. בשפות תכנות, תוכל בדרך כלל לגשת לתפסים אלו דרך אינדוקס של תוצאת ההתאמה.
כיצד אני יכול להפוך את דפוסי הרגקס שלי ליעילים יותר?
כדי לשפר את היעילות של רגקס: היה מדויק עם מחלקות תווים, הימנע מקבוצות תופסות מיותרות (השתמש בקבוצות לא תופסות (?:...)
כאשר אפשרי), הגבל את השימוש בחיפושים קדימה/אחורה, והימנע מדפוסי חזרה קטסטרופליים כמו כמותנים מקוננים.
מהן השגיאות הנפוצות ביותר שיש להימנע מהן ברגקס?
שגיאות נפוצות כוללות: عدم ברירת תווים מיוחדים, יצירת דפוסים גרידיים מדי, שכחת לעגן דפוסים (עם ^
ו-$
), וכתיבת ביטויים מורכבים מדי שקשים לתחזוקה.
האם רגקס יכול להתמודד עם מבנים מקוננים כמו HTML?
רגולרי אקספרשן אינם מתאימים היטב לניתוח מבנים מקוננים כמו HTML או XML. בעוד שאתה יכול ליצור דפוסי רגקס עבור התאמה פשוטה של HTML, בדרך כלל עדיף להשתמש במפענח HTML ייעודי לעיבוד HTML מורכב.
הפניות
- Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.
- Goyvaerts, J., & Levithan, S. (2012). Regular Expressions Cookbook. O'Reilly Media.
- "Regular expression." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Regular_expression
- MDN Web Docs. "Regular Expressions." Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
- RegExr: Learn, Build, & Test RegEx. https://regexr.com/
נסה את בודק דפוסי הרגקס שלנו היום כדי לפשט את משימות עיבוד הטקסט שלך, לאמת פורמטים של קלט ולשלוף נתונים משמעותיים מטקסט לא מובנה. בין אם אתה מתחיל שלומד את יסודות הרגולרי אקספרשן או מפתח מנוסה שעובד על התאמות דפוס מורכבות, הכלי שלנו מספק את התכונות שאתה צריך כדי ליצור, לבדוק ולשפר את דפוסי הרגקס שלך ביעילות.