مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش کامل عبارات منظم و شیء RegExp باقاعده در جاوا اسکریپت


عبارات منظم و شیء RegExp

یک عبارت منظم (regular expression) ، شیئی است که الگویی از کاراکترها را توصیف می کند.

کلاس RegExp جاوا اسکریپت ، بیانگر عبارات منظم است و هر دو شیء String و RegExp متدهایی را تعریف می کنند که از عبارات منظم برای انجام تطبیق الگوریتم های قدرتمند ، جستجو و جایگزینی در متن استفاده می کنند.

قاعده نوشتاری

یک عبارت منظم می تواند با سازنده ()RegExp به صورت زیر تعریف شود:

var pattern = new RegExp(pattern, attributes);

or simply

var pattern = /pattern/attributes;

در اینجا شرحی از پارامترها را ارائه می دهیم:

  • الگو : رشته ای است که الگویی از عبارات منظم یا یک عبارت منظم دیگر را مشخص می کند.
  • صفت ها : یک رشته اختیاری است که شامل یکی از صفت های “g” ، “i" و "m" می باشد ، که به ترتیب موارد global ، case-insensitive و multiline matches را مشخص می کنند.

براکت ها

براکت ها ( [] ) زمانی که در متن عبارات منظم استفاده شوند ، معنای خاصی را به خود اختصاص می دهند. آنها برای یافتن طیف وسیعی از کاراکترها مورد استفاده قرار می گیرند.

ردیف

عبارات و توضیحات

1

[…]

هر کاراکتری بین براکت ها را جستجو می کند.

2

[...^]

هر کاراکتری که بین براکت ها نباشد ، جستجو می شود.

3

[0-9]

هر رقم دسیمال از 0 تا 9 را مطابقت می دهد.

4

[a-z]

هر کاراکتر از حرف کوچک a را تا حرف کوچک z را مطابقت می دهد.

5

[A-Z]

هر کاراکتر از حرف بزرگ A تا حرف بزرگ Z را مطابقت می دهد.

6

[a-Z]

هر کاراکتر از حرف کوچک a تا حرف بزرگ Z را مطابقت می دهد.

 

محدوده نشان داده شده در جدول فوق عمومی هستند ؛ هم چنین می توانیم محدوده [0-3] را برای مطابقت با هر رقم دهدهی از 0 تا 3 یا محدوده [b-v] را برای مطابقت دادن با هر حرف کوچک از b تا v استفاده نماییم.

کمیت سنج ها

فرکانس تکرار یا موقعیت توالی کاراکترهای براکت بندی شده و کاراکترهای تکی را می توان با یک کاراکتر مشخص ، تعیین نمود. هر یک از کاراکترهای معین شده ، دارای یک خاصیت مشخصی هستند. پرچم (flag) های + ، * ، ؟ و $ ، همگی  توالی از کاراکتر را دنبال می کنند.

ردیف

عبارات و توضیحات

1

هر رشته حاوی یک یا چند p را تطبیق می دهد.

2

هر رشته را که حاوی هیچ یا چند p باشد ، تطبیق می دهد.

3

?p

هر رشته را که حاوی حداکثر یک p باشد ، تطبیق می دهد.

4

{p{N

هر رشته را که حاوی یک توالی از N تعداد p است ، تطبیق می دهد.

5

{P{2,3

هر رشته ای را که حاوی توالی دو یا سه p است ، تطبیق می دهد.

6

{, P{2

هر رشته ای را که حاوی توالی حداقل دو p است ، تطبیق می دهد.

7

$p

هر رشته را که دارای p در انتهای آن رشته است ، تطبیق می دهد.

8

p^

هر رشته را که دارای p در ابتدای آن رشته است ، تطبیق می دهد.

 

مثال ها

مثال های زیر توضیح بیشتری در مورد تطبیق دادن کاراکترها را می دهند.

ردیف

عبارات و توضیحات

1

[a-zA-Z^]

هر رشته ای که حاوی هیچ یک از کاراکترهای بین a تا z و  A تا Z نباشد ، تطبیق می دهد.

2

p.p

هر رشته را که حاوی کاراکتر p باشد ، و با هر کاراکتر دیگری دنبال شود ، و در ادامه کاراکتر p دیگری بیاید ، تطبیق می دهد.

3

${2}.^

هر رشته را که دقیقاً حاوی دو کاراکتر باشد ، تطبیق می دهد.

4

<b>(.*)</b>

هر رشته را که در داخل تگ <b> و </b> محصور شده باشد ، تطبیق می دهد.

5

*(p(hp

هر رشته را که حاوی یک p باشد و با هیچ یا چند توالی hp دنبال شود ، تطبیق می دهد.

 

کاراکترهای حرفی

ردیف

کاراکترها و توضیحات

1

Alphanumeric

 خود حروف الفبایی را تطبیق می دهد.

2

0\

کاراکتر NUL است (u0000\) .

3

t\

کاراکتر Tab است (u0009\) .

4

n\

کاراکتر خط جدید (Newline) است (u000A\) .

5

v\

کاراکتر tab عمودی است (u000B\) .

6

f\

کاراکتر Form feed است (u000C\) .

7

r\

بازگردادن مقدار بازگشتی (u000D\)

8

xnn\

کاراکتر لاتین مشخص شده با nn عدد هگزادسیمال است ؛ به عنوان مثال ، x0A\ همان n\ است.

9

uxxxx\

کاراکتر Unicode مشخص شده با xxxx  عدد هگزادسیمال است ؛ به عنوان مثال ، u0009\ همان t\ است

10

cX\

کاراکتر کنترل X^ است. به عنوان مثال ، cJ\ معادل کاراکتر خط جدید n\ است.

 

متا کاراکترها

یک متا کاراکتر ، صرفاً یک کاراکتر حروف الفبایی است که قبل از آن بک backslash استفاده می شود و ترکیب آنها ، معنای خاصی را  ارائه می دهد.

به عنوان مثال ، ما می توانیم مجموع بزرگی از پول را با استفاده از متا کاراکتر ‘d\’ جستجو کنیم : /d]+)000\])/ ، که در اینجا d\ هر رشته ای از کاراکترهای عددی را جستجو می کند.

در جدول زیر فهرستی از متا کاراکترهایی را که می توانند در اصطلاحات سبک منظم (PERL (PERL Style Regular Expressions استفاده شوند ، آورده شده است.

ردیف

کاراکترها و توضیحات

1

0

هر کاراکتر واحدی می تواند باشد.

2

s\

یک کاراکتر جای خالی (space , tab , newline)

3

S\

کاراکتر غیر از جای خالی

4

d\

یک رقم از (0-9)

5

D\

یک کاراکتر غیر عدیی

6

w\

یک کاراکتر کلمه ای (a-z , A-Z , 0-9 , _ )

7

W\

هر کاراکتر غیر کلمه ای

8

[b\]

یک backspace حرفی (مورد خاص)

9

[aeiou]

یک کاراکتر تکی را در مجموعه داده شده تطبیق می دهد.

10

[aeiou^]

یک کاراکتر تکی را در خارج از مجموعه داده شده ، تطبیق می دهد.

11

(foo|bar|baz)

هر توالی مشخص شده را تطبیق می دهد.

 

Modifier ها

چند modifier در دسترس هستند که می توانند روش کار با regexp ها را ساده تر کنند ، مانند case sensitivity ، جستجو کردن در چند خط و غیره.

ردیف

Modifier و توضیحات

1

i

تطبیق case-insensitive را انجام می دهد.

2

m

مشخص می کند که آیا رشته دارای کاراکتر خط جدید یا کاراکتر برگشتی است یا خیر.

3

g

یک تطبیق سراسری را انجام می دهد.

 

 

خصیصه های RegExp

در اینجا ، لیستی از خصیصه های مرتبط با RegExp و توضیحات آنها ارائه می شود.

ردیف

خصیصه ها و توضیحات

1

Constructor

تابعی که یک نمونه اولیه از شیء را ایجاد می کند ، مشخص می کند.

2

Global

مشخص می کند که آیا Modifier مربوط به "g" تنظیم شده است.

3

ignoreCase

مشخص می کند که آیا Modifier مربوط به "i" تنظیم شده است.

4

lastIndex

شاخصی است که برای شروع تطبیق بعدی مورد استفاده قرار می گیرد.

5

multiline

مشخص می کند که آیا Modifier مربوط به "m" تنظیم شده است.

6

source

الگوی متن می باشد.

 

در بخش های بعدی ، چند مثال برای نشان دادن کاربرد خصیصه های RegExp ارائه خواهیم نمود.

متدهای RegExp

در اینجا یک لیست از متدهای مرتبط با شیء RegExp همراه با شرح آنها ارائه شده است.

ردیف

متد و توضیحات

1

()exec

یک عملیات جستجو را برای انجام تطبیق در پارامتر رشته خود اجرا می کند.

2

()test

برای انجام تطبیق در پارامتر رشته خود ، عملیات تست را انجام می دهد.

3

()toSource

یک شیء حرفی را باز می گرداند که نشان دهنده شیء مشخص شده است ؛ ما می توانیم از این مقدار برای ایجاد یک شی جدید استفاده کنیم.

4

()toString

یک رشته را باز می گرداند که نشان دهنده شیء مشخص شده است.

 

 

در بخش های بعدی ، چند نمونه برای نشان دادن کاربرد متدهای شیء RegExp خواهیم کرد.

فصلِ: 1 , تعداد قسمت ها: 4 , سطح: صفر تا صد

این فصل در یک نگاه:

در این مجموعه به آموزش کامل ckeditor از نصب آن تا شخصی سازی و افزودن امکانات اختصاصی به ان می پردازیم.…

با توجه به اینکه آموزش جامع و کاملی در مورد نحوه ایجاد و شخصی سازی یک ادیتور در وب سایت و صفحات وب، وجود نداشت برآن شدیم تا یک سری مجموعه آموزشی کامل و جامع در رابطه با این موضوع تهیه نماییم…
فصلِ: 1 , تعداد قسمت ها: 16 , سطح: صفر تا صد

این فصل در یک نگاه:

نود جی اس چیست؟-اموزش نصب نود جی اس-کار با فایل در نود جی اس-کار با پکیج http در نود جی اس-اموزش کار با npm manager -امو…

توضیحات کلی مجموعه: آموزش صفر تا صد برنامه نویسی nodejs(سورس کدها به همراه اموزش قسمت اخر می باشد) دراین دوره از ابتدا تا سطح حرفه ای نود جی اس رو به کاربران عزیز کلیک سایت اموزش میدیم تا …
فصلِ: 3 , تعداد قسمت ها: 76 , سطح: مقدماتی

این فصل در یک نگاه:

در این فصل پروژه ای را انجام خواهی داد که مباحث قبلی را تثبیت کنیمهم چنین مباحث جدید را یاد خواهیک گرفت از جمله:برنامه ر…

با سلام به حرفه ای ترین دوره ی js خوش آمدید این دوره با دو هدف طراحی و ضبط شده است 1-برای افرادی که قصد یادگیری حرفه ای js را دارند(به زودی قسمت های جدید برای این افراد اضافه خواهد شد) 2…
فصلِ: 2 , تعداد قسمت ها: 102 , سطح: صفر تا صد

این فصل در یک نگاه:

معرفی سنسور ها و قطعات خروجی…

توضیحات کلی مجموعه: ... با سلام خدمت شما کلیک سایتی های عزیز با جذاب ترین و کامل ترین دوره آموزش الکترونیک در خدمت شما هستیم. گاهی اوغات ایده ها یا اختراعی در حوزه الکترونیک به ذهن شما میرس…
فصلِ: 7 , تعداد قسمت ها: 401 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل به بروزرسانی های جاوااسکریپت پرداخته می شود…

توجه: این دوره دائما توسط مهندس روشنایی (مدرس دوره) بروز گردیده و مطابق با آخرین استانداردهای برنامه نویسی آپدیت می شود. توجه فرمائید دریافت آپدیت ها برای خریداران قبلی رایگان می باشد و نیاز…
فصلِ: 3 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل سوم…

آموزش طراحی ریسپانسیو مدرن و جذابتر نسبت به بوتسرپ (همراه با ساخت صفحه اصلی و پنل یک آژانس مسافربری) آموزش پروژه محور فریمورک متریالایز برای اولین بار بین وب سایت های آموزشی آموزش تمامی …
فصلِ: 5 , تعداد قسمت ها: 77 , سطح: متوسط

این فصل در یک نگاه:

ساخت منوی مدیریت سایت،ایجاد بخش دسته بندی ها ، جدول نمایش دسته ها و ایجاد دسته جدید،ایجاد بخش ویژگی های یک دسته،ایجاد وی…

این مجموعه با تلفیقی از فریمورک bootstrap  و کد های html و css  ارائه گردیده و پیش نیاز این آموزش ، دوره دیجی کالای آقای مهندس بلاغی است چون این پروژه در قالب mvc پیاده گردیده و با توجه به ا…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 9 , تعداد قسمت ها: 215 , سطح: صفر تا صد

این فصل در یک نگاه:

در اصل فصل در مورد performance صحبت خواهیم کرد :-React Performance-Lazy-Error Boundaries و سایت را بر روی هاست واقعی قرا…

با سلام خدمت کلیک سایتی های عزیز، به دوره ی صفر تا صد طراحی سایت با react js خوش آمدید. نکته:این دوره کاملا پروژه محور میباشد نکته:این دوره هیچ پیش نیازی ندارد ReactJS  چیست؟ ReactJS اس…
فصلِ: 11 , تعداد قسمت ها: 162 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل(فصل یازدهم مجموعه)،به طراحی CMS (سیستم مدیریت محتوا)اختصاصی فروشگاه می پردازیم.هدف از طراحی این بخش،آنست که م…

در این مجموعه آموزشی قصد داریم از صفر تا صد طراحی یک فروشگاه اینترنتی رو به صورت کامل آموزش بدهیم.این فروشگاه شامل تمامی بخش های مورد نیاز یک فروشگاه اینترنتی است. هدف از این مجموعه،آموزش…
فصلِ: 8 , تعداد قسمت ها: 77 , سطح: صفر تا صد

این فصل در یک نگاه:

  پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…
فصلِ: 5 , تعداد قسمت ها: 201 , سطح: صفر تا صد

این فصل در یک نگاه:

ایجاد پروژه آژانس مسافرتی.....…

فصل اول: آشنایی با مبانی برنامه نویسی اندروید   آشنایی با معماری برنامه های اندرویدی ساخت شبیه ساز جهت تست پروژه اندروید آشنایی با دستور Toast و حلقه for در برنامه های اندروی…
فصلِ: 1 , تعداد قسمت ها: 2 , سطح: متوسط

این فصل در یک نگاه:

بهترین و پر بازده ترین روش تبدیل بازدیدکننده سایت به مشتری تبلیغات هدفمند و برند سازی هوشمندانه با ایمیل می باشد. ایمیل…

  وبینار(سمینار آنلاین) آموزش تکنیک های ایمیل مارکتینگ   اگر تا انتها این متن را مطالعه کنید نظر شما در مورد ایمیل مارکتینگ 180 درجه عوض می شود!! بر هیچکس پوشیده نیست که از سال 1972 که ای…
فصلِ: 4 , تعداد قسمت ها: 368 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث تکمیلی فریم ورک لاراول…

فصل اول :آموزش مقدماتی فریم ورک لاراول معرفی فریم ورک لاراول و پیشنیازهای انجام کار انجام کانفیگ های اولیه برای نصب و راه اندازی فریم ورک معرفی روش های نصب پروژه لاراولی از طریق سایت گی…
فصلِ: 1 , تعداد قسمت ها: 155 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث مقدماتی فریم ورک react.js…

توضیحات کلی مجموعه: فصل اول : آشنایی با مباحث مقدماتی فریم ورک react.js نصب و راه اندازی node.js  و کلیه پیش نیازهای لازم نصب فریم ورک react روی لوکال و انجام تست های لازم آغاز آشنایی …
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

 اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید