شی ( RegExp ) در جاوا اسکریپت :
یکی از مهمترین نیازها و کارهایی که
ممکن است در یک صفحه وب بخواهید انجام دهید ، جستجو برای کلمات یا عبارت خاص در
متن صفحه است . فرض کنید که در یک صفحه وب می خواهید به دنبال واژه CSS بپردازید
و ببینید آیا این کلمه در صفحه وجود دارد یا خیر .
شی RegExp به طراح
امکان ایجاد کدها و ساختارهایی را برای جستجو دنبال کلمات و عبارات در صفحات وب را
می دهد .
RegExp مخفف عبارت Regular Expression است . RegExp شی است که یک الگو از کاراکترها را
تعیین می کند . یک الگو ساده می تواند فقط یک کاراکتر باشد و الگوهای پیچیده تر ،
شامل تعداد بیشتری کاراکتر هستند .
نتیجه گیری : شی RegExp برای
انجام عملیات جستجو برای کلمات و یا کاراکترهای مورد نظر در متن یک صفحه استفاده
می شود .
شکل کلی تعریف
و استفاده از یک شی RegExp در جاوا اسکریپت به صورت زیر است :
Syntax |
var patt =
new RegExp ( pattern , modifiers ) ; |
اما کد بالا چه مفهومی داشته و طرز
استفاده از آن به چه صورت است ؟
برای توضیح آن
، هر یک از کلمات موجود در کد را توضیح داده ام .
syntax توضیح هر یک از موارد |
|
توضیح |
کلمه |
یک نام دلخواه است که برای شی خودمان از نوع RegExp تعیین کرده ایم . مثل یه نام برای هر نوع متغیر دیگر . |
patt |
نام متد یا تابعی است که یک نمونه جدید از شی RegExp را ایجاد می نماید . |
new RegExp |
pattern الگو کاراکترها ، یا همان عبارتی است که در متن می خواهیم به دنبال آن بگردیم . این الگو می توانید شامل یک کاراکتر بوده و یا یک کلمه و عبارت باشد . |
pattern |
modifiers یک کاراکتر است که تعیین می کند عملیات جستجو به چه صورت انجام شود . مثلا چنانچه در این قسمت کاراکتر i را قرار دهیم ، عملیات جستجو به صورت case sensetive ( حساس به حروف بزرگ و کوچک ) انجام می شود . |
modifiers |
جند مثال برای آشنایی با کارکرد RegExp :
در این بخش سعی می کنیم با اراثه چند مثال کاربردی و کدهای آنها ، نحوه کار و استفاداه ار این شی را به شما آموزش دهیم .
مثال 1 : جستجو برای یک عبارت یک کلمه خاص در
یک متن .
در مثال اول یک
متغیر متنی به نام Str1 تعریف کرده ایم که شامل یک متن است
. به وسیله ساخت و به کار گیری یک شی RegExp در درون این متغیر به دنبال واژه Gharbnet
پرداخته ایم .
کد مثال به دنبال این کلمه در متغیر Str1 پرداخته و سپس آن را در خروجی نمایش
داده است :
< script
type="text/javascript" > |
کد |
مثال 2 : جستجو برای یک عبارت یک کلمه خاص در
یک متن و یافتن موارد تکراری.
در مثال دوم یک
متن طولانی تر را در متغیر خودمان قرار داده ایم . در این عبارت ، به دنباب کلمه is پرداخته
ایم. این کلمه در متن چند بار تکرار شده است . بنابراین با به کار بردن یک Modifire از نوع g در شی RegExp ، باعث شده
ایم تا شی نمونه های تکراری را یافته و همه آنها را نمایش دهد :
نکته مهم : توجه
داشته باشید به دلیل اینکه از Modifire نوع i در این مثال استفاده نکرده ایم ،
مورد اول تکرار Is ، به حساب
نیامده و در خروجی نمایش داده نشده است . در مثال سوم Modifire نوع i را نیز به کار برده ایم . خروجی ها
را با هم مقایسه نمایید .
< script
type="text/javascript" > |
کد |
مثال شماره 3 : استفاده همزمان از دو Modifire نوع i , g |
|
< script
type="text/javascript" > |
کد |