آموزش عبارات منظم و شی RegExp در جاوا اسکریپت
آموزش عبارات منظم و شی RegExp در جاوا اسکریپت
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش عبارات منظم و شی RegExp در جاوا اسکریپت خواهیم پرداخت.
عبارت منظم، شی ای است که الگویی از کاراکتر ها را توصیف می کند.
کلاس JavaScript RegExp عبارات منظم را نشان می دهد و هر دو String و RegExp روشهایی را تعریف می کنند که از عبارات منظم برای انجام توابع قدرتمند تطبیق الگو و جستجو و جایگزینی متن استفاده می کنند.
1 2 3 |
var pattern = new RegExp(pattern, attributes); or simply var pattern = /pattern/attributes; |
در اینجا شرح پارامترها آمده است –
- pattern – رشته ای که الگوی عبارت منظم یا عبارت منظم دیگری را مشخص می کند.
- attributes – یک رشته اختیاری حاوی هر یک از ویژگی های “g” ، “i” و “m” است که به ترتیب مسابقات جهانی ، غیر حروف بزرگ و چند خطی را مشخص می کند.
براکت
براکت ها ([]) وقتی در متن عبارات منظم استفاده می شوند معنای خاصی دارند. از آنها برای یافتن طیف وسیعی از کاراکتر ها استفاده می شود.
- […]
هر کاراکتر بین پرانتزها.
- [^ …]
هر یک از کاراکترها بین پرانتزها نیست.
- [0-9]
این رقم با هر رقم اعشاری از 0 تا 9 مطابقت دارد.
- [a-z]
با هر کاراکتر از حروف کوچک از a تا کوچک z مطابقت دارد.
- [A-Z]
با هر نویسه از حروف بزرگ A تا حروف بزرگ Z مطابقت دارد.
- [a-Z]
با هر کاراکتر از حروف کوچک تا a بزرگ Z مطابقت دارد.
دامنه های نشان داده شده در بالا عمومی هستند. همچنین می توانید از دامنه [0-3] برای مطابقت با هر رقم اعشاری از 0 تا 3 یا دامنه [b-v] برای مطابقت با هر کاراکتر کوچک از b تا v استفاده کنید.
Quantifiers
فرکانس یا موقعیت توالی کاراکترهای براکت و تک کاراکترها را می توان با یک کاراکتر خاص نشان داد. هر کاراکتر خاص مفهوم خاصی دارد. پرچم های + ، * ،؟ و $ همه دنباله کاراکتر را دنبال می کنند.
- +p
با هر رشته ای حاوی یک یا چند p مطابقت دارد.
- *p
با هر رشته حاوی صفر یا بیشتر p مطابقت دارد.
- ؟p
با هر رشته حداکثر یک p مطابقت دارد.
- p {N}
با هر رشته ای که توالی N p را دارد مطابقت دارد
- p {2،3}
با هر رشته ای حاوی توالی دو یا سه p مطابقت دارد.
- p {2،}
با هر رشته ای حاوی توالی حداقل دو p مطابقت دارد.
- $p
هر رشته را با p در انتهای آن مطابقت می دهد.
- p^
هر رشته را با p در ابتدای آن مطابقت می دهد.
مثال ها
مثالهای زیر درباره تطبیق کاراکترها بیشتر توضیح می دهند.
- [^ a-zA-Z]
با هر رشته ای که شامل هیچ یک از کاراکترها از a تا z و A تا Z نباشد مطابقت دارد.
- p.p
با هر رشته ای که حاوی p است و به دنبال آن هر کاراکتری مطابقت دارد و به نوبه خود با p دیگری دنبال می شود.
- ${2}.^
با هر رشته ای که دقیقاً دارای دو نویسه باشد مطابقت دارد.
- <b> (. *) </b>
با هر رشته ای که در <b> و </b> محصور شده مطابقت دارد.
- *p(hp)
این با هر رشته ای حاوی p و به دنبال آن صفر یا بیشتر از موارد توالی hp مطابقت دارد.
کاراکتر های لیترال
- Alphanumeric
خودش
- 0\
نویسه NUL (\ u0000)
- t\
برگه (\ u0009
- n\
خط جدید (\ u000A)
- v\
زبانه عمودی (\ u000B)
- f\
خوراک فرم (\ u000C)
- r\
بازگشت کالسکه (\ u000D)
- xnn\
کاراکتر لاتین مشخص شده با عدد هگزادسیمال nn ؛ به عنوان مثال ، \ x0A همان \ n است
- uxxxx\
کاراکتر یونیکد مشخص شده توسط عدد هگزادسیمال xxxx ؛ به عنوان مثال ، \ u0009 همان \ t است
- cX\
کارکتر کنترل ^ X ؛ به عنوان مثال ، \ cJ با کاراکتر خط جدید برابر است \ n
متا کاراکتر
متا کاراکتر به سادگی یک کاراکتر الفبایی است که قبل از آن یک عکس واکنشی معکوس وجود دارد که برای ایجاد معنای خاصی به ترکیب عمل می کند.
به عنوان مثال، می توانید مبلغ زیادی را با استفاده از متا نویسه “\ d” جستجو کنید: / ([\ \ d] +) 000 / ، در اینجا \ d هر رشته با کاراکتر عددی را جستجو می کند.
در زیر مجموعه ای از متا کاراکتر ها را نشان می دهد که می توانند در عبارات منظم به سبک PERL استفاده شوند.
- .
یک کاراکتر واحد
- s\
یک کاراکتر فضای سفید (فضا ، برگه ، خط جدید)
- S\
کاراکتر غیر فضای سفید
- d\
یک رقم (0-9)
- D\
غیر رقمی
- w\
یک حرف واژه (a-z ، A-Z ، 0-9 ، _)
- W\
یک کاراکتر غیر کلمه ای
- [\ b]
یک فضای خالی واقعی (مورد خاص).
- [aeiou]
با یک کاراکتر واحد در مجموعه داده شده مطابقت دارد
- [^ aeiou]
خارج از مجموعه داده شده با یک کاراکتر واحد مطابقت دارد
- (foo | bar | baz)
با هر یک از گزینه های مشخص شده مطابقت دارد
اصلاح کننده ها
چندین اصلاح کننده در دسترس است که می توانند نحوه کار با regexps را ساده کنند ، مانند حساسیت حروف کوچک ، جستجو در چندین خط و غیره
- i
تطبیق حساس به حروف بزرگ را انجام دهید.
- m
مشخص می کند که اگر رشته دارای نویسه های بازگشتی جدید یا کالسکه باشد ، عملگرهای ^ و $ اکنون به جای مرز رشته با یک مرز خط جدید مطابقت دارند
- g
یک مسابقه جهانی انجام می دهد یعنی پیدا کردن همه مسابقات به جای توقف بعد از مسابقه اول.
مشخصات RegExp
در اینجا لیستی از خصوصیات مرتبط با RegExp و توضیحات آنها آورده شده است.
- constructor
عملکردی را که نمونه اولیه یک جسم را ایجاد می کند مشخص می کند.
- global
تعیین می کند که اصلاح کننده “g” تنظیم شده باشد.
- ignoreCase
تعیین می کند که اصلاح “i” تنظیم شده باشد.
- lastIndex
شاخصی که در آن مسابقه بعدی شروع می شود.
- multiline
تعیین می کند که اصلاح کننده “m” تنظیم شده باشد. - Source
متن الگو.
متد های RegExp
در اینجا لیستی از روش های مرتبط با RegExp به همراه توضیحات آنها آورده شده است.
- ()exec
جستجو برای یک تطبیق در پارامتر رشته آن را انجام می دهد.
- ()test
آزمایشات مربوط به تطبیق در پارامتر رشته آن.
- ()toSource
یک شی را به معنای واقعی نمایانگر شی specified مشخص شده برمی گرداند. می توانید از این مقدار برای ایجاد یک شی جدید استفاده کنید.
- ()toString
رشته ای را نشان می دهد که شی object مشخص شده را نشان می دهد.
لیست جلسات قبل آموزش جاوا اسکریپت
-
- آموزش جاوا اسکریپت
- نگاه کلی به آموزش جاوا اسکریپت
- آموزش نحو در جاوا اسکریپت
- آموزش فعال کردن جاوا اسکریپت در مرورگرها
- آموزش قرارگیری در فایل HTML در جاوا اسکریپت
- آموزش متغیرها در جاوا اسکریپت
- آموزش عملگرها در جاوا اسکریپت
- آموزش دستور if-else در جاوا اسکریپت
- آموزش دستور switch case در جاوا اسکریپت
- آموزش حلقه while در جاوا اسکریپت
- آموزش حلقه for در جاوا اسکریپت
- آموزش حلقه for…in در جاوا اسکریپت
- آموزش کنترل حلقه در جاوا اسکریپت
- آموزش توابع در جاوا اسکریپت
- آموزش رویدادها در جاوا اسکریپت
- آموزش کوکی ها در جاوا اسکریپت
- آموزش تغییر مسیر صفحه در جاوا اسکریپت
- آموزش کادر گفتگو در جاوا اسکریپت
- آموزش کلمه کلیدی Void در جاوا اسکریپت
- آموزش چاپ صفحه در جاوا اسکریپت
- بررسی اجمالی اشیا در جاوا اسکریپت
- آموزش شی Number در جاوا اسکریپ
- آموزش شی Boolean در جاوا اسکریپت
- آموزش شی رشته ها در جاوا اسکریپت
- آموزش شی آرایه ها در جاوا اسکریپت
- آموزش شی Date در جاوا اسکریپت
- آموزش شی Math در جاوا اسکریپت
دیدگاه شما