آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش عبارات با قاعده در جاوا اسکریپت

دوره های مرتبط با این مقاله

عبارات با قاعده / Regular expressions - JavaScript

Regular expression (عبارت منظم یا باقاعده) رشته یا توالی از کاراکترها است که یک یگ الگو جستجو (search pattern) تعریف می کند. برای انجام عملیات جستجو برای کلمات و یا کاراکترهای مورد نظر در متن یک صفحه می توان از این عبارات کمک گرفت .
الگوی جستجو را می توان برای انجام عملیاتی همچون جستجو در متن و جایگزینی نوشته هایی در متن مورد استفاده قرار داد.

عبارت با قاعده (regular expression) چیست؟

Regular expression، شی ای است که درباره ی الگوی کاراکترها شرح می دهد.
زمانی که در یک متن به دنبال داده یا اطلاعات معینی به جستجو می پردازید، می توانید از یک الگوی خاص برای کلمه ی مورد جستجو استفاده نمایید.
یک کاراکتر تنها، می تواند یک الگوی ساده باشد.
یک الگوی پیچیده تر ممکن است شامل کاراکترهای بیشتری باشد و از آن می توان برای اجرای عملیاتی همچون تجزیه کردن، قالب دهی، بررسی کردن و جایگزینی استفاده کرد.

دستور نگارش (syntax)

                        ‎/pattern/modifiers;‎
مثال:
                        var patt = / tahlildadeh /i;‎

توضیح مثال
یک عبارت با قاعده است./w3schools/i
w3schoolsنیز یک یک الگو است که در جستجو به کار می رود.
i یک modifier می باشد (باعث می شود جستجو به کوچک بزرگی حروف حساسیت نشان ندهد).

استفاده از توابع رشته ای (string methods)

عبارات با قاعده در جاوا اسکریپت اغلب با دو متد رشته ای ()search و ()replace بکار می رود.
() Search - جهت جستجو برای کشف وجود يا عدم وجود يک کلمه خاص در يک متغیر رشته ای بکار گرفته می شود.
() Replace - از اين متد به منظور جستجو به دنبال يک حرف يا کلمه خاص در يک متغير رشته ای و جايگزينی آن با يک مقدار جديد استفاده می شود.

مثال:

با استفاده از یک RegEx یک جستجو که نسبت به کوچک و بزرگی حروف حساسیت ندارد به دنبال "Tahlildadeh" در رشته انجام دهید.

var str = "Visit Tahlildadeh";
        var n = str.search(/Tahlildadeh/i);‎
نتیجه:

نمونه یک

function myFunction() {
    var str = "Visit Tahlildadeh!"; 
    var n = str.search(/Tahlildadeh/i);
    document.getElementById("demo").innerHTML = n;
}
امتحان کنید

تابع جستجو (search method) همچنین می تواند یک رشته به عنوان آرگومان جستجو بپذیرد. آرگومان گفته شده به یک عبارت با قاعده (regular expression) تبدیل می شود.

مثال:

با استفاده از یک رشته به عنوان آرگومان ورودی تابع () search برای یافتن واژه ی "Tahlildadeh" در string جستجو انجام می دهیم.

نمونه دو

            var str = "Visit Tahlildadeh!";
            var n = str.search(Tahlildadeh);
امتحان کنید

در این مثال با استفاده از تابع () replace یک عبارت با قاعده ی case-insensitive (Tahlildadeh) را جایگزین کلمه ی Microsoft می کنیم.

نمونه سه

  function myFunction() {
            var str = document.getElementById("demo").innerHTML;
            var txt = str.replace(/microsoft/i, "Tahlildadeh");
            document.getElementById("demo").innerHTML = txt;
        }
امتحان کنید

تابع () replace نیز می تواند مانند متد () search یک رشته به عنوان آرگومان ورودی می پذیرد.

نمونه چهار

        function myFunction() {
            var str = document.getElementById("demo").innerHTML;
            var txt = str.replace("Microsoft", "Tahlildadeh");
            document.getElementById("demo").innerHTML = txt;
        }
امتحان کنید

اگر به مثال های بالا خوب دقت کرده باشید متوجه می شوید که
می توان به جای string argument (آرگومان رشته ای) از آرگومان های regular expression در توابع یاد شده استفاده کرد.
با بهره گیری از عبارات با قاعده می توان جستجو را قوی تر یا به مراتب کارآمدتر ساخت(برای مثال آن را نسبت به کوچک بزرگی حروف بی تفاوت کرد).

تعریف / تنظیم کننده های نحوه ی جستجو (modifier) عبارات با قاعده

Modifier یک کاراکتر است که با استفاده از آن جستجو به دنبال کلمه یا حرف مد نظر را case-insensitive (بی تفاوت به کوچک و بزرگی حروف) کرده یا آن را سراسری (global) می کنیم.

شرح
Modifier
بیانگر case-insensitive (حساس نبودن به کوچک و بزرگی حروف) بودن جستجو است.
i
نشانگر سراسری بودن جستجو می باشد (جستجو پس از یافتن مورد اول متوقف نمی شود).
g
جستجو را در چندین خط انجام می دهد.
m

الگوی عبارات با قاعده (regular expression pattern)

Pattern عبارتی است که در متن می خواهیم به دنبال آن بگردیم.

با استفاده از کاراکتر [] می توان مجموعه ای از کاراکترها را جستجو کرد (یافت)

شرح
عبارت
هر کاراکتری که درون (محصور در) [] باشد را پیدا می کند.
[abc]
هر عددی که بین براکت باز و بسته محصور شده باشد را پیدا می کند.
[0-9]
هر کاراکتر ی(جایگزین) که با " | " از هم جدا شده باشند را پیدا می کند.
(x|y)

Metacharacter کاراکتری است که معنای به خصوصی برای برنامه ی کامپیوتری داشته باشد.

شرح
Metacharacter
یک عدد را پیدا می کند.
\d
یک کاراکتر خط فاصله را می یابد.
\s
مورد مد نظر (match) را در ابتدا یا انتهای یک کلمه می یابد.
\b
کاراکتر Unicode که توسط عدد مبنای 16 (hexadecimal) xxxx مشخص شده را می یابد.
\uxxxx

Quantifiers (کمیت سنج ها) مقادیر یا کمیت را تعیین می کنند.

توضیح
Quantifier
با رشته ای match می شود که دربردانده ی حداقل یک n باشد.
n+
با رشته ای match می شود که دربردارنده ی 0 یا بیشتر تکرار (نمونه) از n باشد.
n*
با رشته ای match می شود که دربردارنده ی 0 یا بیشتر تکرار (نمونه) از n باشد.
n?

استفاده از شی RegExp

شی ای است دارای توابع و خواص از پیش تعریف شده ای است.

متد ()test

این تابع در یک رشته به دنبال الگوی موردنظر جستجو انجام داده سپس بسته به نتیجه، مقدار true یا false باز می گرداند. به عبارتی دیگر، متد ()test، یک رشته را داخل یک مقدار مشخص جستجو کرده و براساس نتیجه، true یا false برمی گرداند.
مثال زیر در یک رشته به دنبال "e" می گردد.

مثال:

نمونه پنج

        function myFunction() {
            text = document.getElementById("p01").innerHTML;
            document.getElementById("demo").innerHTML = /e/.test(text);
        }
امتحان کنید

به این خاطر که "e" در رشته ی مورد نظر یافت می شود، خروجی کد true خواهد بود.
نیازی نیست عبارت با قاعده را درون یک متغیر قرار دهید. دو خط کد مثال بالا را می توان در یک خط (به طور خلاصه) نوشت.

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

تابع ()exec

این متد داخل یک رشته به دنبال الگوی مورد نظر جستجو انجام داده، سپس نوشته ی یافت شده را بر می گرداند یا به عبارت دیگر متد ()exec، یک رشته را داخل یک مقدار مشخص جستجو می کند و با توجه به نتیجه ی حاصل، مقدار جستجو شده یا false را بازیابی می کند.
حال در صورتی که مورد (match) یافت نشد، متد ذکر شده null باز می گرداند.
مثال زیر در رشته به دنبال کاراکتر "e" می گردد.

نمونه شش

        function myFunction() {
            text = document.getElementById("p01").innerHTML;
            document.getElementById("demo").innerHTML = /e/.exec(text);
        }
امتحان کنید

به این خاطر که "e" در رشته ی مورد نظر یافت می شود، خروجی کد e خواهد بود.

امیدواریم که این مطلب در مورد آموزش Jquery و JavaScript برایتان مفید و مناسب بوده باشد.
در صورت داشتن هر گونه سوال، پیشنهاد و یا انتقاد حتماً از قسمت نظرات در پایین صفحه آن را برای ما ارسال کنید.

اگر تمایل دارید به سایر محتوای آموزش برنامه نویسی دسترسی پیدا کنید می توانید به آموزش های گام به گام برنامه نویسی مراجعه کنید.

از اینجا بهترین کتابهای برنامه نویسی را دریافت کنید : کتاب های آموزش برنامه نویسی


کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده بوده و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.

  • 7086
  •    2500
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانلود سورس کد دانلود فیلم آموزشی دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
آموزش عبارات با قاعده در جاوا اسکریپت
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .