شی RegExp - عملیات جستجو متن در جاوا اسکریپت
شی ( RegExp ) در جاوا اسکريپت :
یکی از مهمترین نیازها و کارهایی که ممکن است در یک صفحه وب بخواهید انجام دهید ، جستجو
برای کلمات یا عبارت خاص در متن صفحه است . فرض کنید که در یک صفحه وب می خواهید به
دنبال واژه CSS بپردازید و ببینید آیا این کلمه در صفحه وجود دارد یا خیر .
شی RegExp به طراح امکان ایجاد کدها و ساختارهایی را برای جستجو دنبال کلمات و عبارات
در صفحات وب را می دهد .
RegExp مخفف عبارت Regular Expression است . RegExp شی است که یک الگو از کاراکترها
را تعیین می کند . یک الگو ساده می تواند فقط یک کاراکتر باشد و الگوهای پیچیده تر
، شامل تعداد بیشتری کاراکتر هستند .
نتیجه گیری : شی RegExp برای انجام عملیات جستجو برای کلمات
و یا کاراکترهای مورد نظر در متن یک صفحه استفاده می شود .
شکل کلی تعریف و استفاده از یک شی RegExp در جاوا اسکریپت به صورت زیر است :
|
Syntax
|
var patt = new RegExp ( pattern , modifiers ) ;
یا به صورت ساده شده :
var patt = /pattern/modifiers ;
|
اما کد بالا چه مفهومی داشته و طرز استفاده از آن به چه صورت است ؟
برای توضیح آن ، هر یک از کلمات موجود در کد را توضیح داده ام .
|
توضیح
|
|
یک نام دلخواه است که برای شی خودمان از نوع RegExp تعیین کرده ایم . مثل یه نام برای
هر نوع متغیر دیگر .
|
|
نام متد یا تابعی است که یک نمونه جدید از شی RegExp را ایجاد می نماید .
|
|
pattern الگو کاراکترها ، یا همان عبارتی است که در متن می خواهیم به دنبال آن بگردیم
. این الگو می توانید شامل یک کاراکتر بوده و یا یک کلمه و عبارت باشد .
|
|
modifiers یک کاراکتر است که تعیین می کند عملیات جستجو به چه صورت انجام شود . مثلا
چنانچه در این قسمت کاراکتر i را قرار دهیم ، عملیات جستجو به صورت case sensetive
( حساس به حروف بزرگ و کوچک ) انجام می شود .
|
جند مثال برای آشنایی با کارکرد RegExp :
در این بخش سعی می کنیم با اراثه چند مثال کاربردی و کدهای آنها ، نحوه کار و استفاداه
ار این شی را به شما آموزش دهیم .
مثال 1 : جستجو برای یک عبارت یک کلمه خاص در یک متن .
در مثال اول یک متغیر متنی به نام Str1 تعریف کرده ایم که شامل یک متن است . به وسیله
ساخت و به کار گیری یک شی RegExp در درون این متغیر به دنبال واژه Developer پرداخته
ایم . کد مثال به دنبال این کلمه در متغیر Str1 پرداخته و سپس آن را در خروجی نمایش
داده است :
< script type="text/javascript" >
var Str1 = "Welcome to Developer1.ir";
var patt1 = /Developer/i;
document.write(Str1.match(patt1));
< /script >
|
|
|
مثال 2 : جستجو برای یک عبارت یک کلمه خاص در یک متن و یافتن
موارد تکراری.
در مثال دوم یک متن طولانی تر را در متغیر خودمان قرار داده ایم . در این عبارت ، به
دنباب کلمه is پرداخته ایم. این کلمه در متن چند بار تکرار شده است . بنابراین با به
کار بردن یک Modifire از نوع g در شی RegExp ، باعث شده ایم تا شی نمونه های تکراری
را یافته و همه آنها را نمایش دهد :
نکته مهم : توجه داشته باشید به دلیل اینکه از Modifire نوع
i در این مثال استفاده نکرده ایم ، مورد اول تکرار Is ، به حساب نیامده و در خروجی
نمایش داده نشده است . در مثال سوم Modifire نوع i را نیز به کار برده ایم . خروجی
ها را با هم مقایسه نمایید .
< script type="text/javascript" >
var Str2 = "Is more than one is in this ?";
var patt2 = /is/g;
document.write(Str2.match(patt2));
< /script >
|
|
|
|
مثال شماره 3 : استفاده همزمان از دو Modifire نوع i , g
|
< script type="text/javascript" >
var Str3 = "Is more than one is in this ?";
var patt3 = /is/gi;
document.write(Str3.match(patt3));
< /script >
|
|
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نظر خودتان درباره این صفحه را با ما در میان بگذارید :