בדיקה ובדיקת ביטויים רגולריים

בדקו ביטויים רגולריים באינטרנט. נתחו התאמות, תקנו שגיאות ובנו תבניות יעילות לחיפוש נתונים.

בדיקת RegEx

תוצאת ביטוי רגולרי

גפרורים

לא נמצאו התאמות

שְׁאֵרִית

אין תוכן שאינו תואם

תמכו ב-DevBox Tools ❤️

תכונות של "בודק רגולקס"

בדוק ביטויים רגולריים

מאפשר לך לבדוק דפוסי RegExp בזמן אמת, מה שמפשט את הפיתוח וניפוי באגים של דפוסי חיפוש מורכבים.

תמיכה עבור דגלים ומתאמים שונים

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

צור תבניות לניתוח נתונים

מאפשר לך ליצור במהירות ביטויים לעיבוד אוטומטי של מערכי טקסט גדולים, יומנים וקוד HTML.

מדריך ופרטי שימוש

מהן ביטויים רגולריים (Regex)

ביטויים רגולריים (Regex) הם שפת התאמת תבניות המשמשת לחיפוש, ולידציה ועיבוד של טקסט.

בעזרת regex אפשר:

  • למצוא קטעי טקסט מסוימים (למשל: אימייל, URL, מספרים)

  • לאמת פורמטים של נתונים (ולידציית טפסים)

  • להחליף ולנקות טקסט

  • לחלץ נתונים מובנים מתוך מחרוזות

Regex נמצאת בשימוש נרחב בפיתוח, באנליטיקת נתונים, ב-SEO ובאוטומציה.

מה עושה כלי “Regex Tester”

הכלי מאפשר לבדוק ביטויים רגולריים בזמן אמת ולראות מיד את התוצאה.

בעזרתו אפשר:

  • לבדוק אם מחרוזת תואמת לתבנית מסוימת

  • לראות את כל ההתאמות בתוך טקסט

  • לדבג ביטויים מורכבים

  • לבדוק וריאציות שונות של regex בלי לכתוב קוד

מנועי Regex נפוצים וההבדלים ביניהם

ביטויים רגולריים אינם אוניברסליים לחלוטין. התמיכה בתחביר תלויה בשפת התכנות ובמנוע שבו משתמשים.

מנוע

שימוש

מאפיינים

JavaScript (ECMAScript)

דפדפנים, Node.js

תמיכה מוגבלת ב-lookbehind (תלוי בגרסה)

PCRE

PHP, כלים רבים

אחד המנועים החזקים ביותר

Python (re)

Python

חסרות בו חלק מיכולות PCRE

Java (Pattern)

Java

תחביר קפדני

.NET

C#

יכולות מורחבות

יש לבדוק תמיד את ה-regex בסביבה שבה הוא ישמש בפועל. חשוב לשים לב להבדלים בתמיכה ב-lookbehind וב-Unicode. לפתרונות חוצי-פלטפורמות עדיף להשתמש בתבניות פשוטות יותר.

דגלי Regex (Modifier Flags)

דגלים הם פרמטרים שמשנים את אופן עיבוד התבנית. הם מאפשרים לשלוט ברישיות, בטווח החיפוש (שורה אחת או כמה שורות) ובאופן הפרשנות של תווים.

דגל

משמעות

i

התעלמות מרישיות

g

חיפוש גלובלי

m

מצב רב-שורות

s

Dotall (כולל \n בתוך .)

u

Unicode

תווים מיוחדים ב-Regex

סוג

סימן

תיאור

עוגנים (מיקומים)

^

תחילת המחרוזת

עוגנים (מיקומים)

$

סוף המחרוזת

עוגנים (מיקומים)

\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 נפוצות

משימה

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}$

טעויות נפוצות ב-Regex

ביטויים רגולריים נראים לעיתים פשוטים, אבל הם כוללים הרבה ניואנסים נסתרים. הנה כמה טעויות נפוצות שמובילות לתוצאות שגויות.

טעויות תחביר ולוגיקה

  • שכחת escape: . מתאים לכל תו, לא לנקודה מילולית → יש להשתמש ב-\.

  • שימוש שגוי בכמתים: *, +, {} חלים על האלמנט הקודם, לא על כל המחרוזת

  • בלבול בין greedy ל-lazy: .* הוא greedy → השתמשו ב-.*? כדי לקבל התאמה מינימלית

בעיות בהתאמת מחרוזות

  • חסרים עוגנים ^ ו-$: בלעדיהם ההתאמה יכולה להתרחש בכל מקום במחרוזת

  • רגישות לרישיות: "Test" ≠ "test" → השתמשו בדגל i לפי הצורך

  • בלבול עם רווחים: \s כולל טאבים, ירידות שורה וכו’, לא רק רווח רגיל

טעויות מעשיות

  • שימוש ב-\w עבור Unicode: ברוב המנועים \w = [A-Za-z0-9_] בלבד

  • ניסיון לנתח פורמטים מורכבים (HTML, JSON) באמצעות regex: לא אמין → עדיף להשתמש ב-parser ייעודי

  • תבניות מורכבות מדי: קשות לתחזוקה ולדיבוג

בעיות ביצועים

  • כמתים מקוננים: למשל (.*)+ עלול לגרום ל-catastrophic backtracking

  • תבניות לא תחומות: .* ללא מגבלות עלול להאט עיבוד של מחרוזות גדולות

תיאור הכלי

alien

שימו לב שביטויים רגולריים בכלי זה מעובדים לפי תקן ECMAScript (JavaScript RegExp). המשמעות היא שההתנהגות של דפוסים מתאימה לאופן שבו הם פועלים בדפדפן או בקוד JavaScript. מבנים מסוימים, כגון בריחה של תווים (/ ו/), עשויים להתנהג באותו אופן, גם אם הם נראים אחרת. אם אתה רגיל לביטויים רגולריים בשפות אחרות (לדוגמה, Python,PHP, .NET או POSIX), שים לב שייתכן שיש להם הבדלים בתחביר ובלוגיקה התאמת.

כלי זה מאפשר לך לבדוק ביטויים רגולריים (RegEx) ולבדוק את יכולת הפעולה שלהם. RegEx נמצא בשימוש נרחב בתכנות, עיבוד נתונים וניתוח SEO.

בעזרתו תוכלו לחפש, להחליף ולנתח דפוסי טקסט, ולפשט את העבודה עם כמויות גדולות של נתונים.

שאלות נפוצות (FAQ)

ביטויים רגולריים (רגקס) הם כלים רבי עוצמה להתאמת דפוסים לחיפוש, אימות ומניפולציה של טקסט. הם חיוניים עבור אימות נתונים, פעולות חיפוש ומשימות עיבוד טקסט.

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

דפוסים נפוצים כוללים אימות דוא"ל, מספרי טלפון, תאריכים, כתובות אתרים ומיקוד. למד מטא-תווים בסיסיים כמו ., *, +, ?, ^, $ ומחלקות תווים כמו \d, \w, \s.

הדגלים הנפוצים כוללים i (לא תלוי רישיות), g (חיפוש גלובלי), m (מצב ריבוי שורות) ו-u (תמיכה ב-Unicode). הם עוזרים לשלוט בחיפוש ובהתאמה בצורה מדויקת יותר.

דפוסים מורכבים עם עקיבה לאחור יכולים להיות איטיים בטקסטים גדולים. בצע אופטימיזציה על ידי היותו ספציפי, הימנעות מכימות מקוננות ושימוש בעוגנים (^ ו-$) במידת האפשר. בדיקת ביצועים עם גדלי נתונים מציאותיים.

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

מכמתים 'חמדנים' (למשל, `.*`) ינסו להתאים לכמה שיותר תווים. מכמתים 'עצלים' (למשל, `.*?`) ינסו להתאים כמה שפחות תווים. הבחירה תלויה בהתנהגות ההתאמה הרצויה.

רוב יישומי הביטוי הרגולרי המודרניים תומכים ב-Unicode, המאפשרים התאמת תווים בשפות ואלפבית שונות. עם זאת, תמיכה מדויקת יכולה להשתנות בין שפות תכנות וכלים.

דרגו את הכלי
4.5(25 משתמשים דירגו)