وقت بخیر دوستان، با آموزش برنامه نویسی (Visual Basic.NET (VB.NET از وب سایت پی وی لرن همراه هستیم. عبارات باقاعده یا Regular Expressions چیست؟ در این خصوص صحبت خواهیم نمود.
یک عبارت باقاعده الگویی است که می تواند در برابر متن ورودی مطابقت داشته باشد. فریم ورک Net. یک موتور عبارت باقاعده را فراهم می کند که چنین تطبیقی را امکان پذیر می کند. یک الگو متشکل از یک یا چند کاراکتر حرفی، اپراتور یا ساختار است.
دسته های مختلفی از کاراکترها ، اپراتورها و ساختارها وجود دارد که به شما امکان می دهد عبارات باقاعده را تعریف کنید.
کلاس Regex برای نشان دادن یک عبارت باقاعده استفاده می شود.
کلاس Regex دارای متدهای متداول زیر است.
ردیف | متد و شرح |
---|---|
۱ | Public Function IsMatch (بنابراین input به عنوان String) به عنوان Boolean نشان می دهد که آیا عبارت Regular مشخص شده در سازنده Regex تطابقی را در یک رشته ورودی مشخص پیدا می کند یا خیر.
|
۲ | Public Function IsMatch (بنابراین input به عنوان String و startat به عنوان Integer) به عنوان Boolean نشان می دهد که آیا عبارت Regular مشخص شده در سازنده Regex ، تطابقی را در رشته ورودی مشخص شده ، با شروع در موقعیت شروع مشخص شده در رشته پیدا می کند.
|
۳ | Public Shared Function IsMatch (بنابراین input به عنوان String و pattern به عنوان String ) به عنوان Boolean نشان می دهد که آیا عبارت Regular مشخص شده تطابقی در رشته ورودی مشخص شده پیدا می کند یا خیر.
|
۴ | Public Function Matches (بنابراین input به عنوان String) به عنوان MatchCollection رشته ورودی مشخص شده را برای همه موارد یک عبارت Regular جستجو می کند.
|
۵ | Public Function Replace (بنابراین input به عنوان String و replacement به عنوان String ) به عنوان String در یک رشته ورودی مشخص ، تمام رشته های مطابق با الگوی Regular را با یک رشته جایگزین مشخص جایگزین می کنید.
|
۶ | Public Function Split (بنابراین input به عنوان String) به عنوان ()String رشته ورودی را به آرایه ای از رشته های فرعی در موقعیت هایی تعریف می کند که توسط یک الگوی بیان منظم مشخص شده در سازنده Regex تقسیم می شود. |
برای لیست کامل متدها و خصوصیات ، لطفاً با مستندات مایکروسافت مشورت کنید.
مثال زیر با کلماتی که با “S” شروع می شوند مطابقت دارد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Imports System.Text.RegularExpressions Module regexProg Sub showMatch(ByVal text As String, ByVal expr As String) Console.WriteLine("The Expression: " + expr) Dim mc As MatchCollection = Regex.Matches(text, expr) Dim m As Match For Each m In mc Console.WriteLine(m) Next m End Sub Sub Main() Dim str As String = "A Thousand Splendid Suns" Console.WriteLine("Matching words that start with 'S': ") showMatch(str, "\bS\S*") Console.ReadKey() End Sub End Module |
هنگامی که کد بالا کامپایل و اجرا می شود ، نتیجه زیر را ایجاد می کند.
1 2 3 4 | Matching words that start with 'S': The Expression: \bS\S* Splendid Suns |
مثال زیر با کلماتی که با “m” شروع می شوند و با “e” به پایان می رسد مطابقت دارد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Imports System.Text.RegularExpressions Module regexProg Sub showMatch(ByVal text As String, ByVal expr As String) Console.WriteLine("The Expression: " + expr) Dim mc As MatchCollection = Regex.Matches(text, expr) Dim m As Match For Each m In mc Console.WriteLine(m) Next m End Sub Sub Main() Dim str As String = "make a maze and manage to measure it" Console.WriteLine("Matching words that start with 'm' and ends with 'e': ") showMatch(str, "\bm\S*e\b") Console.ReadKey() End Sub End Module |
هنگامی که کد بالا کامپایل و اجرا می شود ، نتیجه زیر را ایجاد می کند.
1 2 3 4 5 6 | Matching words start with 'm' and ends with 'e': The Expression: \bm\S*e\b make maze manage measure |
این مثال فضای سفید اضافی را جایگزین می کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Imports System.Text.RegularExpressions Module regexProg Sub Main() Dim input As String = "Hello World " Dim pattern As String = "\\s+" Dim replacement As String = " " Dim rgx As Regex = New Regex(pattern) Dim result As String = rgx.Replace(input, replacement) Console.WriteLine("Original String: {0}", input) Console.WriteLine("Replacement String: {0}", result) Console.ReadKey() End Sub End Modul |
هنگامی که کد بالا کامپایل و اجرا می شود ، نتیجه زیر را ایجاد می کند.
1 2 | Original String: Hello World Replacement String: Hello World |
حال با این که عبارات باقاعده یا Regular Expressions چیست؟ آشنا شدیم. و مثال هایی نیز برای درک بهتر زده شد. در جلسه ی آینده مبحث Database Access را مورد بررسی قرار خواهیم داد.