در این پست درباره عبارات با قاعده و منابع یادگیری آن در زبان های مخلف برنامه نویسی توضیحاتی را ارائه دادیم.
Regular Expression در ترجمه به معنای عبارات با قاعده یا منظم است که به اختصار Regex یا Regexp هم گفته میشود.این عبارت ها در واقع یک سری الگوهای تعریف شده ای هستند که از انواع کاراکترهای مختلف تشکیل شده اند و توسط پردازشگرهای متن قابل شناسایی می باشند و به منظور جستجو ، مطابقت دادن ، و استخراج اطلاعات از متون مختلف از آن استفاده میشود.
RegEx در سال 1950 به عنوان یک پروژه تحقیقاتی در حوزه ریاضیات ایجاد شد و چندسال بعد در بعضی از پروژه ها بصورت انحصاری استفاده میشد.اما امروزه Regex در اکثر زبان های برنامه نویسی پشتیبانی میشود.
انواع متاکاراکترهای مورد استفاده در Regex
متا کاراکترها ، کاراکترهایی هستند که در Regex معنای خاصی دارند و به کمک آنها میتوانیم کاراکترهای موجود در متن موردنظر را تطبیق بدیم و بخش موردنظر از متن را استخراج کنیم.
متا کاراکتر | کاربرد |
. | هر تک کاراکتری را تطبیق میدهد. |
[ ] | داخل آن هر چندتا کاراکتری که میخواهیم کاراکتر بعدی کلمه با ان شروع شود را میتوانیم بنویسیم.فقط میتواند تنها یکی از کاراکترها میتواند به عنوان کاراکتر بعدی شناخته شود نه تمام آنها. |
– | برای تعیین محدوده اعداد و حروف استفاده میشود.متا کاراکتر – فقط داخل [ ] استفاده میشود. |
^ | کاربرد اول : با استفاده از این متاکاراکتر داخل آکلاد میتوان تعیین کرد که هرکاراکتر بجز این کاراکتر موردنظر را تطبیق دهد. کاربرد دوم : برای تطبیق دادن ابتدای متن |
$ | تطبیق دادن انتهای متن |
d\ | تطبیق هر رقم تکی |
D\ | تطبیق هرکاراکتر بجز ارقام |
w\ | تطبیق هرکاراکتر عددی و حروف بزرگ و کوچک و زیرخط |
W\ | تطبیق هرکاراکتری بجز (اعداد و حروف بزرگ و کوچگ و زیرخط) |
s\ | تطبیق هر کاراکتر نامرئی |
S\ | تطبیق هرکاراکتری بجز کاراکترهای نامرئی |
+ | برای تطبیق یک یا چندکاراکتر |
* | تطبیق صفر یا چندکاراکتر |
? | برای تطبیق صفر یا یک کاراکتر |
b\ | برای تطبیق مکانی کاراکتر (مشخص کردن شروع یک عبارت یا پایان یافتن عبارت) |
برای تست عبارات با قاعده و استخراج متون به کمک آن نرم افزارهای زیادی وجود دارند که میتوانید از آنها استفاده کنید که در ادامه بعضی از این نرم افزارها را معرفی کردیم.
نرم افزار RegexBuddy
نرم افزار Expresso
افزونه Regex Editor
اگر از نرم افزار Visual Studio برای کدنویسی با زبان های برنامه نویسی استفاده میکنید میتوانید با نصب افزونه Regex Editor از قابلیت های ان استفاده کنید.
البته بجز این نرم افزارهای دیگری هم وجود دارند که میتوانید از آنها نیز استفاده کنید :
همچنین در برنامه هایی مثل notePad++ و Text Crawler و … نیز امکان استفاده از Regex وجود دارد.
سایت های انلاین برای تست عبارت با قاعده :
- regexr
- debuggex
- regex101
- regextester
- CyrilEx Regex Tester
- Regular Expression Tester
- regexstorm
- live regex
- pyregex
- pythex
منابع یادگیری Regex :
یکی از منابع یادگیری عبارات با قاعده کتاب Sams Teach Yourself Regular Expressions in 10 Minutes نوشته Ben Forta می باشد که با بیانی ساده Regex را توضیح داده است.
سایت های انلاین یادگیری :
- ریجکس در پایتون
- ریجکس در جاوا
- ریجکس در php
- ریجکس در جاوا اسکریپت
- ریجکس در سی شارپ و vb.net
- ریجکس در Visual Basic
برنامه Expresso دانلود برنامه
برنامه RegexBuddy دانلود برنامه دانلود فایل pdf راهنما ویدیوهای آموزشی
کتاب Sams teach yourself regular expressions in 10 minutes – Ben Forta دانلود کتاب
کتاب Regular Expression – Tony Stubblebine دانلود کتاب
کتاب Regular expressions cookbook – Goyvaerts, Jan_ Levithan, Steven دانلود کتاب