‎‎عبارات منظم جاوااسكريپتJavaScript Regular Expressions -‎

Previous >    <Next  

‎يك عبارت منظم‎(Regular Expression)‎ دنباله از كراكترهاست كه يك الگوي جستجو ‎را تشكيل ميدهد.

‎‎الگوي فوق هم براي جستجو وهم براي جايگزيني متني مورد استفاده قرار ميگيرد.

‎‎عبارت منظم چيستWhat is a Regular Expression -‎

‎‎فرمت كليSyntax -‎

‎/pattern/modifiers;‎‎

‎‎مثال

‎/w3schools/i;‎

‎‎شرح مثال

‎‎/w3schools/i‎‎يك عبارت منظم است .

‎w3schools‎الگو ويا مورد جستجواست .

‎كراكترi يك اصلاح كننده است‎(modifier i)‎ . براي غيرحساس بودن حروف در جستجواست. ‎يعني حروف بزرگ وكوچك تفاوتي ندارند.

‎‎متدهاي رشته مورد استفادهUsing String Methods -‎

‎در جاوااسكريپت عبارات منظم اغلب با دو متد رشته اي ‎‎search( ) , replace( ) ‎‎‎استفاده ميشوند .

‎متد‎‎search( ) ‎‎ براي جستجو يا تطبيق عبارت درمتني مورد استفاده ‎قرار ميگيرد.اين متد موقعيت الگو را در متن برگشت ميدهد.

‎‎متد‎‎replace( )‎‎با جايگزيني الگو رشته اصلاحي را برگشت ميدهد .

‎‎استفادهsearch( ) رشته اي با يك رشته

‎متد‎‎search( )‎‎ الگو را در رشته اي جستجو نموده وموقعيت آنرا در رشته ‎برگشت ميدهد.

‎‎مثال ـ جستجوي‎"w3schools‎"‎در رشته اي

‎
let text = "Visit W3Schools!";
let n = text.search("W3Schools");

--(go to editor for change code and run)

‎‎موقعيت برگشتي مثال فوق‎6‎

‎‎استفاده متد‎search()‎‎ با عبارت منظم

‎‎مثال ـ دراين مثال جستجوي‎"w3schools‎"‎با عدم حساسيت حروفي انجام ميشود .

‎
let text = "Visit W3Schools";
let n = text.search(/w3schools/i);

--(go to editor for change code and run)

‎‎دراين مثال جستجو با توجه باينكه بين حروف بزرگ وكوچك فرقي نيست، آنجام ميشود.نتيجه برگشتي6

‎‎استفاده از‎replace( )‎ با يك رشته

‎متد‎‎replace( ) ‎‎ ،رشته اي را جايگزينررشته ديگر در متني مي نمايد ‎ومتن اصلاح شده برگشت ميشود.

‎‎مثال ـ‎replace()‎‎ جايگريني رشته با رشته ديگر

‎
let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");

--(go to editor for change code and run)

‎‎استفاده از‎replace( )‎ با عبارت منظم

‎‎مثال ـ جايگزيني‎"w3scools‎"‎با‎"Microsoft‎"‎با توجه عدم حساسيت حروف

‎
let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");

--(go to editor for change code and run)

‎

‎توجه ـ آرگومانهاي عبارت منظم بجاي رشته اي ميتوانند در روش هاي فوق استفاده شوند .آنها جستجو ‎را قدرتمندتر مينمايد .مثلا رعايت عدم حساسيت حروف در جستجو

‎‎اصلاح كننده ها در عبارت منظمRegular Expression Modiers -‎

‎
‎‎اصلاح كننده ‎‎شــرح ‎‎تلاش دراجرا
‎i‎ ‎عدم حساسيت در حروف ‎‎
‎g‎ ‎يك جستجوي سراسري را مطرح ميكند. ‎‎
‎m‎ ‎انطباق چند خطي ‎‎

‎‎الگوها در عبارت منظمRegular Expression Patterns -‎

‎‎براكت ها‎([ ])‎ براي پيدانمودن محدوده كراكترها استفاده ميشود .

‎
‎‎عبارت ‎‎شــرح ‎‎تلاش در اجرا
‎[abc] ‎جستجو براي هر كراكتر داخل براكت ‎‎
‎[0-9] ‎پيدا كردن هر يكي از رقمهاي داخل براكت ‎‎
‎(x|y) ‎پيدا نمودن هرعبارت تفكيكي با‎ | ‎‎

‎‎كراكترهاي معني دار‎(metacharctres)‎ در الگو داراي معني خاصي در جستجو ميدهند.

<>‎
‎
‎metacharacter‎ ‎‎شــرح ‎‎تلاش دراجرا
‎\d ‎پيداكردن ا رقام ‎‎
‎\s ‎پيدا كردن فضاي خالي‎(Whitespace)‎ ‎‎
‎\b ‎پيدا نمودن كلمه كه عبارت درابتداي كلمه باشد.مثل‎\bWORD‎
‎‎ ‎پيدانمودن كلمه كه عبارت در انتها باشد .مثل‎WORD\b‎
‎‎
‎\uxxxx ‎پيدا نمودن كراكتر با يوني كد باعددهگزاxxxx ‎‎

‎‎‎تكراركننده هاquntifiers -‎

‎
‎‎تكراركننده ‎‎شــرح ‎‎تلاش دراجرا
‎n+ ‎تطبيق با رشته براي حداقل يكn ‎‎
‎n* ‎تطبيق در رشته براي برخورد باهيچ يا بيشترباn ‎‎
‎n?‎ ‎تطبيق دررشته كه شامل صفر يايكي ازn ‎‎

‎‎كاربرد شئ منظمUsing the RegExp Object -‎

‎در جاوااسكريپت شئ منظم‎(RegExp object)‎ يك عبارت منظمي است كه داراي ويژگي ‎ومتدهاي ازپيش تعريف شده اي دارد .كه بدنبال مطرح ميشوند.

‎‎كاربرد متد‎test()‎‎

‎متد‎‎test( )‎‎ يكي از متد هاي شئ منظم است .اين متد براي جستجوي يك ‎الكو، براساس نتايج جستجوtrue ياfalse برگشت .

‎‎مثال ـ جستجوي كراكتر‎"e‎"‎ در يك رشته

‎
const pattern = /e/;
pattern.test("The best things in life are free!");

--(go to editor for change code and run)

‎‎با توجه به وجود‎"e‎"‎در رشته مورد جستجو نتيجه برگشتي true است .

‎در مثال بالا لازم نيست كه عبارت منظم در متغيري قرار گيرد، ميتوان آنرا مستقيم با متد بكار ‎گرفت .دو دستور بالا بيك دستور زير تبديل مي شود.

‎
/e/.test("The best things in life are free!");

‎‎كاربرد متد‎exec( )‎

‎متد‎‎exec( ) ‎‎ يكي از متدهاي عبارت منظم است .اين متد با جستجوي ‎الگوئي در رشته، آنرا بصورت متن شئي برگشت ميدهد .اگر درجستجو الگو پيدا نشود، رشته تهي برگشت ‎ميدهد‎(null)‎ .

‎‎مثال ـ در مثال زير كراكتر‎"e‎"‎در رشته جستجو ميگردد .

‎
/e/.exec("The best things in life are free!");

--(go to editor for change code and run)


Previous >    <Next