עזרה:ביטוי רגולרי

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


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


שגיאות פרמטריות בתבנית:לעדכן

פרמטרי חובה [ נושא ] חסרים

בתוכן זה ניתן להשתמש לאחר בחירה ב"העדפות -> סקריפטים", "הוספת אפשרות לבצע החלפת מחרוזת בתיבת העריכה".

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

כללים בסיסיים[עריכת קוד מקור | עריכה]

להלן התווים המשמשים כתווי בקרה בביטויים רגולריים:

תו הסבר דוגמה
מחרוזת ביטוי רגולרי ביטוי שילכד
. מסמלת תו אחד מכל סוג (מספר או אות) ‏‏‏אבגד‏ א.ג אבג
^ התאמה להתחלה של מחרוזת אבגד א
$ התאמה לסיומה של מחרוזת אבגד ד$ ד
? 'תו אפשרי': התו מתייחס לתו או לקבוצה שלפניו - תו קיים או העדר תו כלשהו (0 או יותר מהתו) אג אב?ג אג
אבג אב?ג אבג
אבבג אב?ג אין התאמה
אשג אב?ג אין התאמה
* 'תו חוזר': התו מתייחס לתו או לקבוצה שלפניו - תו או חזרות התו, או העדר תו (0 או יותר מהתו וכפילויות) אג אב*ג אג
אבג אב?ג אבג
אבבג אב?ג אבבג
אשג אב?ג אין התאמה
+ 'תו בהכרח': התו מתייחס לתו או לקבוצה שלפניו - התו או חזרות קיימים (1 או יותר מהתו וכפילויות) אג אב+ג (אין התאמה)
אבג אב?ג אבג
אבבג אב?ג אבבג
אשג אב?ג אין התאמה
[] התאמה לתווים בטווח שצויין אבגדבגח [א-ג]ג[זח] בגח
() קיבוץ מספר תווים לקבוצה אחת אבאבדעאבאבדהו (אב)+דה אבאבדה
{n,m} מספר המופעים. כאשר m הוא גבול תחתון ו-n הוא גבול עליון אאאבבבג א{1,3}ב{2} אאאבב
| או (OR), בשימוש בתוך קבוצה בבגגדד גג)(בב|דד) גגדד

שאר התווים מייצגים את עצמם. כדי להשתמש בתו בקרה לעיל כתו רגיל, יש להקדים לו לוכסן שמאלי (\).

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

תו אחד[עריכת קוד מקור | עריכה]

למשל כדי להחליף את האותיות "אלף" או "למד" (כל אחת בנפרד) בכוכבית יש לרשום

שדה ראשון שדה שני
[אל] *

אם נבצע החלפה של הביטוי הרגולרי [אל] בסימן * במשפט הבא:

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

נקבל:

ב*ג ע*ו* *נבוע מעיצוב פגום ש* התוכנה, מתכנון *קוי ש* ה**גוריתם, מטעות בש*ב התכנות ועוד. ב*ג יכו* *בו* *ידי ביטוי בצורות *חדות.

מאחר שכל א ול הוחלפו ב*. ההחלפה נעשתה בקוד מקור, ולכן הקישור [[אלגוריתם]] הפך לקישור אדום [[**גוריתם]].

טווח של של תוים[עריכת קוד מקור | עריכה]

ניתן לציין טווח של אותיות או ספרות על ידי סימן מינוס (מקף לא תקני). למשל הביטוי [ג-ע] יכלול את כל האותיות ביניהם כולל גימל ועין, ואילו הביטוי [2-7] יכלול את כל הספרות בין 2 ל־7 כולל.

אם נבצע את ההחלפה הבאה על המשפט מהדוגמה הקודמת:

שדה ראשון שדה שני
[א-ה][ק-ת] **

נקבל:

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

החלפה של מספר תוים[עריכת קוד מקור | עריכה]

  • התוים [] מציינים מופע אחד בלבד של התוים, כדי לציין את מספר המופעים המבוקשים נשתמש בתוים {}

לדוגמה {2}[A-Z] מציין שהתוכנה תחפש שתי אותיות גדולות. א{2,4} מציין שהתוכנה תחפש מחרוזות שמורכבות מהאות אלף בלבד בגדלים של שניים עד ארבע (אא, אאא, אאא).

למשל הביטוי הבא:

שדה ראשון שדה שני
[אל]{2} *

יתן את התוצאה הבאה:

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

ביטוי שולל[עריכת קוד מקור | עריכה]

  • הביטוי [^] שולל את התווים שנמצאים בתוך הסוגריים המרובעות, ומורה לאתר כל אות ששונה מהתוים שבסוגריים.

למשל [א][^ל] משמעותו חפש את האות אלף ולידה כל אות אחרת שאיננה למד.

אם נכתוב

שדה ראשון שדה שני
[א][^ל] *

נקבל:

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

ניתן לראות כי במילה "אלגוריתם" האלף והלמד לא הוחלפו.

ביטוי רגולרי קבוע[עריכת קוד מקור | עריכה]

קיימים בשפה מספר ביטויים קבועים שמציינים תווים מוגדרים. לדוגמה:

  • \d - מציין תו ספרתי מ0-9 = [0-9]
  • \w - מציין תו של אות או ספרה =[a-zA-Z0-9]
  • \s - מציין רווח כל שהוא = [\r\t\n\f]
  • \n - מציין מעבר שורה (אנטר)

אותיות גדולות מציינות את ההיפך.

  • \D - מציין כל תו שאינו מספרי = [0-9^]
  • \W - מציין כל תו שאינו אות או ספרה = [a-zA-Z0-9^]
  • \S - מציין כל תו שאינו רווח = [\r\t\n\f^]

יש לשים לב, כי בתוך הסוגרים המרובעות התו \ מורה שהתו הבא הוא תו רגיל ולא תו בקרה.

החלפת תוים תוך שמירה על תו או תוים מקוריים[עריכת קוד מקור | עריכה]

  • () וְ־$1 – מאפשרים להוסיף תווים על התו המקורי.

אם רוצים לגרום לטקסט קיים מסוים להישאר בעוד הטקסט שמסביבו יוחלף, יש להקיף בחיפוש את הטקסט שרוצים להשאיר בסוגריים, ולסמן את מיקומו בטקסט אליו רוצים להחליף ב"$1".כך למשל אם רוצים לגרום לכל ערך מספרי להיות מוקף בסוגריים מסולסלות יש לכתוב

שדה ראשון שדה שני
(\d) {$1}


אם היו נתונים לנו המשפטים הבאים:

1. לקנות לחם וחלב.
2. לא לשכוח להוציא את הילד מהגן.

התוצאה תהיה:

{1}. לקנות לחם וחלב.
{2}. לא לשכוח להוציא את הילד מהגן.

אם רוצים להוסיף כוכבית לפני ואחרי כל הופעה של המילה "תבנית" או "תבניות", יש לכתוב

שדה ראשון שדה שני
(תבניו?ת) *$1*

החלפה כזאת במשפט הבא:

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

תביא לתוצאה:

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

שמירה על התו המקור עם שימוש בתו שולל[עריכת קוד מקור | עריכה]

דוגמה נוספת היא לסמן אותיות שעלולות להיות אותיות בכל"מ כלומר קידומת בתחילת אותיות מקור:

שדה ראשון שדה שני
([^א-ת][בכלמ]) $1+


ראשית יש לשלול מלפני אותיות בכל"מ כל אות אחרת מהאלפבית העברי, ובתו שלאחר מכן לחפש רק אחת מארבע אותיות אלו. ולשים לאחריה סימן +.

הפִסקה:

מפלי ניאגרה, בגבול שבין ארצות הברית לקנדה, שימשו כר פעולה פורה לפעלולנים: בשנת 1829, זינק סם פטץ' מראש סולם גבוה אל הגיא שמתחת למפלים ונשאר בחיים. ב-1859, הילך ז'אן פרנסואה גרבלה על חבל מתוח בין שתי גדות הנהר. ב-1901, חצתה המורה אנני אדסון טיילור את המפלים בתוך חבית החמצה.

תהפוך ל:

מ+פלי ניאגרה, ב+גבול שבין ארצות הברית ל+קנדה, שימשו כ+ר פעולה פורה ל+פעלולנים: ב+שנת 1829, זינק סם פטץ' מ+ראש סולם גבוה אל הגיא שמתחת ל+מפלים ונשאר ב+חיים. ב+-1859, הילך ז'אן פרנסואה גרבלה על חבל מ+תוח ב+ין שתי גדות הנהר. ב+-1901, חצתה המורה אנני אדסון טיילור את המפלים ב+תוך חבית החמצה.

איתור אותיות שחוזרות על עצמן[עריכת קוד מקור | עריכה]

ישנה אפשרות לאתר מספר אותיות שחוזרות על עצמן:

שתי אותיות שחוזרות על עצמן. (הוספת "\1" תוסיף עוד אות)

שדה ראשון שדה שני
(.)\1 **


הפִסקה:

מפלי ניאגרה, בגבול שבין ארצות הברית לקנדה, שימשו כר פעולה פורה לפעלולנים: בשנת 1829, זינק סם פטץ' מראש סולם גבוה אל הגיא שמתחת למפלים ונשאר בחיים. ב-1859, הילך ז'אן פרנסואה גרבלה על חבל מתוח בין שתי גדות הנהר. ב-1901, חצתה המורה אנני אדסון טיילור את המפלים בתוך חבית החמצה.

תהפוך ל:

מפלי ניאגרה, בגבול שבין ארצות הברית לקנדה, שימשו כר פעולה פורה לפעלולנים: בשנת 1829, זינק סם פטץ' מראש סולם גבוה אל הגיא שמתחת למפלים ונשאר בח**ם. ב-1859, הילך ז'אן פרנסואה גרבלה על חבל מתוח בין שתי גדות הנהר. ב-1901, חצתה המורה א**י אדסון ט**לור את המפלים בתוך חבית החמצה.

תווים מיוחדים[עריכת קוד מקור | עריכה]

  1. [^ -�] – מעבר שורה.
  2. [^!-�] – רווח או מעבר שורה.
  3. [ -�] – כל תו למעט מעבר שורה.
  4. [!-�] – כל תו למעט רווח ומעבר שורה.

חיפוש ביטוי רגולרי[עריכת קוד מקור | עריכה]

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

קישורים חיצוניים[עריכת קוד מקור | עריכה]