NET/ביטוי רגולרי: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Effib (שיחה | תרומות)
הרחבה
Effib (שיחה | תרומות)
הרחבה
שורה 1:
במדעי המחשב, ביטוי רגולרי (באנגלית: Regular Expression) הוא מחרוזת (רצף של תווים) המתארת קבוצת מחרוזות על פי כללי תחביר מסוימים.
 
==הקדמה==
בעזרת ביטוי רגולרי ניתן לחפש או לשנות טקסט על ידי תיאור דפוס מסוים של רצפי תווים וכללים לגבי מיקומם ביחס לתווים אחרים, אחד השימושים האופיינים היא בדיקת קלט של משתמש, כך למשל ניתן לבדוק האם מחרוזת שהוקלדה היא תאריך תקין או כתובת אימייל תקינה. במקום שבו אמור להיות מוקלד מספר אפשר לבדוק שלא הוקלדו אותיות, בכדי לנטרל את ההשפעה שתהיה לכך על התוכנה לאחר מכן.
 
שורה 12 ⟵ 13:
*לבצע החלפות בין תתי מחרוזות במחרוזת (פונקציית '''Replace'''), על פי ביטוי.
 
==תוי בקרה בסיסיים==
 
סימונים בסיסיים לתוי הדפוס של ביטויים רגולריים הם
* ^ - משמש לסמן את תחילתה של המחרוזת, באם הסימן לא יופיע החיפוש יתבצע בכל מקום עד תחילתה של המחרוזת.
שורה 35 ⟵ 36:
 
=== דוגמאות ===
 
====תפיסת החלפת שפת משתמש====
לדוגמה בכדי שהתוכנה תשמיע ביפ, בכל פעם שהמשתמש מקליד אות אנגלית בתיבת הטקסט txtSearch ניתן לבצע זאת, באמצעות כתיבה של הקוד הבא באירוע txtSearch_TextChanged
 
שורה 43 ⟵ 46:
</source>
 
====איתור מילים עם אותיות בכל"מ====
 
באמצעות ביטוי רגולרי ניתן לאתר מילים שלידן יש אות מסויימת, כך למשל אם רוצים לאתר מילה מסויימת, שמופיעה עם קידומת של אחת מאותיות בכל"ם, ולהדפיס אותה בחלונית "Output" ניתן לעשות זאת בצורה הבאה:
 
שורה 61 ⟵ 64:
:בתוך
 
====בדיקת תאריך====
 
<source lang="vbnet">
שורה 76 ⟵ 80:
:השורה השלישית (שנים) - מקבלת לוכסן מפריד, ביחד עם שתי ספרות או ארבע ספרות. תו $ מציין שזו סוף המחרוזת.
 
====הסרת תגיות HTML====
שימוש נוסף שאפשר לעשות עם פונקציית ההחלפה, היא הסרה של תגיות HTML בכדי להפוך אותו לטקסט נקי. בדוגמה הבאה ניתן לראות ביטוי שמאתר תבניות קישור ומסיר אותם באמצעות קידמות דומה ושימוש בתוים * וסימן שאלה.
 
<source lang="vbnet">
Public Function Replace(ByVal Source As String) As String
Dim Result As String
Dim SourceString As string= "<a href=""helloworld.htm"" _
title=""Hello World"">"
Dim Pattern As string="\<a href.*?>"
 
Result = Regex.Replace(Source, SourceString , _
Pattern ,RegexOptions.IgnoreCase)
Return Result
</source>
 
==קישורים חיצוניים==