اطلاعیه شماره 26 : به اطلاع کلیه کاربران وبسایت پایتونی ها می رساند به علت تداخلات شدید و محدودیت ها موجود در اینترنت کشور سرور های پایتونی ها با اختلال رو به رو شده که همکاران واحد فنی در حال بررسی موضوع هستند تا هرچه سریعتر مشکل را مرتفع کنند، لطفا صبور باشید.

021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

Regex چیست؟(قسمت دوم)

در این قسمت از مقاله قرار است که کمی عمیق تر Regex را بررسی کنیم.

ببینید همانطور که قبلا گفتیم Regex یک الگو برای تطبیق دادن یک رشته از کاراکترها و یا یک متن است.

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

کاراکترهای خاص

اگر به خاطر داشته باشید علامت “^” به معنای محل شروع یک string بود.
اما اگر همین علامت در براکت بیایید به معنای NOT میشود! بگذارید مثال بزنیم

[^ ]*

الگوی رجکس بالا یعنی بدون فاصله(تمامی کاراکتر ها به جز فاصله برگردانده میشود)
اما کاراکتر بعدی بک اسلش “\” بک اسلش در رجکس علامت های با معنی خاص را به کاراکتر عادی تبدیل میکند برای مثال دات یا “.” به معنای همه ای کاراکترهاست اما وقتی با بک اسلش میایید به معنای نقطه میشود

\.

علامت “+” به معنای یک کاراکتر یا بیشتر است وقتی از علامت + استفاده میکنیم یعنی این کاراکتر میتواند یکبار و یا بیشتر تکرار شود

خب اگر تا اینجا همراه ما بودید وقتش شده است که با دو سایت برای تست کردن Regex های خودتون معرفی کنم.یکی سایت Regex101.com و دیگری Regexr.com

بحث بعدی دسته بندی کاراکتر هستند به طور کل به صورت زیر است.

\d
\D
\w
\W
\s
\S

به ترتیب از بالا به معنای زیر هستند:
فقط اعداد
هر چیزی به جز اعداد
فقط حروف و اعداد
برعکس بالای
فقط رشته های خالی (فاصله ها، خط های جدید)
برعکس بالای

Regex برای یافتن ایمیل

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

[^ \r\n]*[email protected][^ ]*\.[^ ]*

بگذارید این الگو Regex را تفسیر کنیم.
این الگو دنبال رشته ی میگردد که فاصله و یا breakline در ابتدایش نباشد و سپس هر کاراکتری بعد کاراکتر @ سپس هر کاراکتری به جز فاصله و بعدش DOT ” . ” و در آخر دوباره هر کاراکتری.
برای درک بهتر من عکس از خروجی گرفتم

Regex Test
تست Regex بالا

دوستان مثال در Regex زیاد است که من دو مورد رو که به نظرم مفید بود شرح دادم.
شما میتونید در صورت اشکال در Regex مشکل خود را زیر همین مطلب ارسال کنید.

قسمت قبل: Regex چیست؟(آموزش مقدماتی)

محمد حجازی

31 مطلب منتشر شده

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

درباره این مطلب نظر دهید !

مطالب پرمخاطب پایتونی ها

آموزش VsCode

آموزش vs code

11
دقیـقه مطالعه
ادامه ...
pip چیست ؟!

Pip چیست؟

3
دقیـقه مطالعه
ادامه ...

محصولات فروش پایتونی ها

%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
6
%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3