رجکس Regex چیست

”رجکس Regex چیست و چه کاربردی دارد“

در این مقاله می خوانید :

کاربردهای رجکس Regex چیست

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

خیلی‌ها فکر می‌کنند این ابزار فقط در برنامه نویسی کاربرد دارد ولی شما می توانید از رجکس در ابزارهای روزمره مثل ویرایشگر متن یا پنل های مدیریتی مثل وردپرس هم استفاده کنید.

برای اینکه در صفحه اول گوگل و بین رقبا خودنمایی کنید باید هم طراحی سایت قوی داشته باشید هم یک استراتژی سئو قوی و کاربردی. برای دریافت اطلاعات بیشتر درباره شرایط و هزینه سئو ماهانه یا سالانه با وب نگاران پارسه با کارشناسان ما تماس بگیرید. 0216692878709123790588

 

رجکس Regex چیست
رجکس Regex چیست

رجکس Regex چیست؟

رجکس Regex، که مخفف Regular Expression است به عنوان یک الگوی متنی برای توصیف و تطبیق الگوهای خاص در رشته‌های متنی مورد استفاده قرار می‌گیرد. به عبارتی Regex مثل یک فیلتر هوشمند عمل می‌کند و می‌تواند به شما بگوید که این متن شامل چه چیزهایی می‌شود یا این بخش از متن با الگوی مورد نظر مطابقت دارد یا نه. مثلا اگر می خواهید تمام شماره تلفن‌ها را از یک لیست طولانی دربیاورید می‌توانید از رجکس Regex استفاده کنید. چطوری؟ مثلا یک الگو مشخص می‌کنید و از ان می‌خواهید چند رقم پشت سر هم را شناسایی و استخراج کند.

شاید همه چیز زیادی محاسباتی و ریاضی به نظر برسد ولی رجکس یک ابزار کاملا عملی و انعطاف پذیر است که در این زبان های برنامه نویسی مثل جاوا اسکریپت، پایتون یا حتی ابزارهایی که خط فرمان دارند استفاده می شود. شما با رجکس می توانید کلمات و عبارت های ساده یا پیچیده را جستجو کنید.

کاربردهای رجکس  Regex چیست

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

  • رجکس Regex ورودی ها را برای شما اعتبارسنجی می‌کند، مثل بررسی صحت ایمیل، شماره تلفن، کد ملی، فرمت تاریخ، رمز عبور قوی و غیره.
  • به کمک رجکس می‌توانید در ویرایشگرهای متنی مختلف الگوهای خاص را پیدا و جایگزین کنید.
  • رجکس Regex اطلاعات مورد نیاز مثل شماره‌ها، لینک‌ها، ایمیل‌ها و تگ‌های HTML، قیمت‌ها یا هر الگوی تکراری دیگری را از متن‌های بزرگ و طولانی بیرون می‌کشد.
  • حذف یا اصلاح کاراکترهای ناخواسته، فاصله‌های اضافی، خطوط خالی، یا تبدیل فرمت داده‌ها نیز از دیگر کاربردهای این ابزار است.
  • این ابزار می تواند لاگ ها را برای شما تحلیل کند. منظور از تحلیل لاگ پیدا کردن خطاها، IPهای خاص، درخواست‌های مشکوک یا کدهای وضعیت HTTP در فایل‌های لاگ سرور است.
  • حذف استاپ‌ورد‌ها، استخراج هشتگ‌ها، منشن‌ها، ایموجی‌ها یا توکنایز کردن متن هم از دیگر کاربردهای رجکس به شمار می رود.

 

رجکس Regex چیست
رجکس Regex چیست

اجزای رجکس Regex چیست؟

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

  • کاراکترهای پایه
  • کوانتایفرها (تکرارها)
  • متاکاراکترها

هر کدام از این‌ها مانند قطعات پازل عمل می‌کنند و وقتی با هم ترکیب می‌شوند الگوهای پیچیده‌تر درست می‌کنند. در ادامه این اجزا را دقیق‌تر بررسی می‌کنیم:

کاراکترهای پایه در رجکس Regex

کاراکترهای پایه اصل و ستون فقرات رجکس هستند. حرف، نمادهای معمولی و اعداد کاراکترهای پایه هستند. مثلا اگر الگوی مد نظر شما abc باشد به سادگی abc را در متن یا رشته برای شما پیدا می کند. ولی برای انعطاف بیشتر از مجموعه کاراکتر استفاده می‌کنند. برای این کار گروهی از کاراکتر ها را داخل [] قرار می‌دهند. مثلا [a-z] یعنی تمام حروف بین a  تا z با اندازه کوچک را پیدا می‌کند.

این اجزا ساده به نظر می رسند ولی وقتی با هم ترکیب می شوند می توانند الگوهای پیچیده را هم پیاده سازی کنند. مثلا فرض کنید می خواهید کلماتی که با حروف خاص شروع می شوند را پیدا کنید استفاده از گروه کاراکتری می تواند هزاران گزینه را در کسری از ثانیه برای شما پوشش دهد و پیدا کند. بدون کاراکترهای پایه رجکس محدود می شود و نمی تواند به طور گسترده در متن های بزرگ جستجو کند.

 

رجکس Regex چیست
رجکس Regex چیست

کوانتایفرهای رجکس Regex

کوانتایفرها عناصری هستند که تکرار کاراکترها یا الگوها را کنترل می‌کنند. آن‌ها به الگو می‌گویند که یک کاراکتر خاص “چند بار” باید ظاهر شود. برای نمونه، الگوی a+ هر جایی که “a” یک بار یا بیشتر تکرار شده را پیدا می‌کند، مانند “aa” یا “aaa”.

این اجزا باعث می شوند جستجوی رجکس کمی پیچیده‌تر شود. اگر این کوانتایفرها نباشد باید برای هر الگو کد جا نوشته شود. مثلا اگر سه تا a را میخواهید پیدا کنید باید یک الگو برای aaa تعریف کنید. و این یک کار بیهوده است و زمان زیادی هم می برد. در جدول زیر می توانید کوانتایفرهای مختلف را ببینید:

کوانتایفرنام فارسیمعنی دقیقمثال الگومتن نمونهچه چیزی مَچ می‌شود؟
*ستارهصفر یا بیشتر بارa*aaaa, baaa, xyz“”, “a”, “aa”, “aaa”, “aaaa” (حتی خالی)
+به‌علاوهیک یا بیشتر بارa+aaaa, baaa, xyz“a”, “aa”, “aaa”, “aaaa” (حداقل یک a لازم است)
?علامت سؤالصفر یا دقیقاً یک بارa?aaaa, ba, xyz“”, “a” (یا هیچی یا فقط یک a)
{n}دقیقاً n باردقیقاً n بار تکرارa{3}aa, aaa, aaaaفقط “aaa”
{n,}حداقل n بارحداقل n بار (بدون سقف)a{3,}aa, aaa, aaaaa“aaa”, “aaaa”, “aaaaa”, …
{n,m}بین n تا m بارحداقل n و حداکثر m بارa{2,4}a, aa, aaa, aaaa, aaaaa“aa”, “aaa”, “aaaa”
*?ستاره تنبل (Lazy)صفر یا بیشتر، اما کمترین مقدار ممکنa*?aaaaa علیه “a*?”“” (به‌جای تمام aها، کمترین را می‌گیرد)
+?به‌علاوه تنبلیک یا بیشتر، اما کمترین مقدار ممکنa+? aaaaa علیه “a+?”فقط یک “a”
??علامت سؤال تنبلصفر یا یک، اما ترجیحاً صفرa?? aaaaa علیه “a??”“” (ترجیح می‌دهد هیچی نگیرد)
{n,m}?تنبل برای بازهبین n تا m، اما کمترین مقدار ممکنa{2,4}? aaaaa علیه “a{2,4}?”فقط “aa” (کمترین مقدار ممکن)

متاکاراکترها در رجکس Regex

متاکاراکترها نمادهای خاصی هستند که کمک می‌کنند الگوهای کوتاه‌تر و قوی‌تری بسازید. مثلا \w تمام کاراکترهای کلمه‌ای را پیدا می‌کند ولی \s فضاهای خالی را به شما نشان می‌دهد. در جدول زیر می‌توانید انواع متاکاراکترها و نحوه کاربرد آنها را ببینید:

متاکاراکترنام فارسیمعنی دقیقمثال الگومتن نمونهچه چیزی پیدا می‌شود؟کاربرد رایج
.نقطههر کاراکتر تکی به‌جز خط جدید (\n)a.cabc, a1c, a#c, a\nc“abc”, “a1c”, “a#c” (نه وقتی خط جدید باشد)پیدا کردن هر چیزی بین دو کاراکتر
^کلاهک / شروع خطابتدای خط یا ابتدای رشته (بسته به flag m)^سلامسلام دنیا\nسلام خوبیدفقط “سلام”هایی را پیدا می کند که اول خط باشند.اطمینان از شروع درست (مثل شروع ایمیل)
$دلارانتهای خط یا انتهای رشتهدنیا$سلام دنیا\nخوبیدفقط “دنیا”هایی را پیدا می کند که در انتهای خط باشند.اعتبارسنجی انتهای رشته (مثل .com$)
\dدیجیتهر رقم بین ۰–۹\d{3}کد ۱۲۳۴۵۶“۱۲۳”, “۴۵۶”شماره تلفن، کدپستی، کارت بانکی
\Dغیر دیجیتهر چیزی به‌جز رقم\D+سلام۱۲۳دنیا“سلام”, “دنیا”جدا کردن متن از عدد
\wورد / کلمهحروف، اعداد و زیرخط (a-z, A-Z, ۰–۹, _)\w+ali_123 reza@ali“ali_123”نام کاربری، متغیرها
\Wغیر وردهر چیزی به‌جز \w\W+ali_123!!!reza“!!!”جدا کردن کلمات از علائم
\sاسپیس / فضای خالیفضای سفید، تب، خط جدید\s+سلام دنیا\tخوبید\n” “, “\t”, “\n”پاک کردن فاصله‌های اضافی
\Sغیر فضای خالیهر چیزی به‌جز فضای سفید\S+سلام دنیا“سلام”, “دنیا”گرفتن کلمات بدون فاصله
\bمرز کلمه (Word Boundary)مرز بین \w و \W (شروع یا پایان کلمه واقعی)\bcat\bcat scatter catercatفقط “cat” به‌تنهاییجستجوی کلمه کامل (نه داخل کلمه دیگر)
\Bغیر مرز کلمهجایی که مرز کلمه نیست\Bcatscatter catercat“cat”cat در “scatter” و “catercat”پیدا کردن وقتی کلمه داخل کلمه بزرگ‌تر است
[abc]کلاس کاراکترییکی از کاراکترهای داخل براکت[aeiou]سلام خوبهر حرف صدادارپیدا کردن مصوت‌ها یا مجموعه خاص
[^abc]نفی کلاسهر چیزی به‌جز موارد داخل براکت[^0-9]abc123def“abc”, “def”حذف اعداد یا کاراکترهای خاص
( )گروه‌بندیگروه کردن الگو + ذخیره در حافظه (capture)(سلام)\s(دنیا)سلام دنیاگروه ۱: “سلام”، گروه ۲: “دنیا”استخراج بخش‌های خاص، جایگزینی هوشمند

 

رجکس Regex چیست
رجکس Regex چیست

استفاده از رجکس Regex در سرچ کنسول گوگل

سرچ کنسول گوگل یکی از محبوب‌ترین ابزارهای گوگل برای نظارت بر عملکرد سایت‌ها در موتور جستجو است. سرچ کنسول از رجکس Regex برای فیلتر و تحلیل داده‌های وب استفاده می‌کند. این کاربرد رجکس را از دنیای برنامه‌نویسی به ابزارهای مدیریتی وب می‌برد و نشان می‌دهد چگونه می‌تواند به سئو کمک کند. در سرچ کنسول، رجکس برای فیلتر کردن URLها، کوئری‌های جستجو یا حتی ارورهای crawl استفاده می‌شود. مثلاً، با الگویی مانند ^/blog/.* می‌توانید تمام صفحات بلاگ را جدا و عملکردشان را بررسی کنید. این کار به مدیران سایت کمک می‌کند تا الگوهای ترافیک را شناسایی کنند. مثلا می‌توانند صفحاتی که با کلمات کلیدی خاص شروع می‌شوند را پیدا کنند بدون اینکه نساز باشد تمام داده‌ها را دانلود کنند.

مزایای استفاده از رجکس

رجکس Regex مزایای زیادی دارد و به همین دلیل در بین مهندسان نرم افزار و طراحی سایت تبدیل به یک ابزار ضروری شده است.

  • رجکس با یک خط کد، کاری را انجام می‌دهد که در حالت عادی به ده‌ها یا شاید صد‌ها خط کد نیاز دارد.
  • رجکس حتی روی فایل‌های چند صد مگابایتی یا گیگابایتی هم در کسری از ثانیه کار می‌کند.
  • رجکس بخش زیادی از حافظه و ظرفیت CPU را استفاده نمی‌کند.
  • Regex تقریبا در تمام زبان‌های برنامه‌نویسی و ابزارهای مدرن کار می‌کند.
  • رجکس به شما این امکان را می‌دهد که الگوهایی که دوباره استفاده می‌شوند را بنویسید و با پروژه‌ها و تیم‌های دیگر به اشتراک بگذارید
  • رجکس قوی‌ترین و دقیق‌ترین روش برای اعتبارسنجی ایمیل، شماره تلفن، کد ملی، URL، رمز عبور و تاریخ است.
  • رجکس داده‌های مورد نیاز را از HTML، XML، JSON نامنظم و لاگ‌های پیچیده به‌راحتی استخراج می‌کند.
  • رجکس تعداد باگ‌ها و خطاهای پردازش متن را به‌شدت کاهش می‌دهد.

 

رجکس Regex چیست

کلام پایانی

رجکس Regex در ظاهر یک ابزار ساده به نظر می‌رسد ولی کار پردازش متن را خیلی ساده می‌کند. با رجکس می‌توانید به تمام فرمت‌های لازم در یک متن یا رشته طولانی دست پیدا کنید و دیگر در هیچ لاگ شلوغی چیزی از چشمتان پنهان نمی‌ماند. یک خط رجکس می‌تواند ساعت‌ها کار دستی را در کسری از ثانیه انجام دهد و هزاران خط کد را حذف کند. این ابزار کار را خیلی راحت‌تر کرده و بسیاری از مهندسان برنامه‌نویس مدام در پروژه‌های مختلف از آن استفاده می‌کنند.

در صورتی که هنوز کسب و کار خود را وارد حوزه دیجیتال نکرده اید و سایت ندارید حتما سری به سایت وب نگاران پارسه بزنید و نمونه های طراحی سایت را ببینید. برای استفاده از خدمات سئو و یا طراحی سایت حرفه ای با شرکت وب نگاران تماس بگیرید.0216692878709123790588

سوالات متداول

رجکس Regex چیست؟

یک زبان کوچک و قدرتمند برای توصیف و پیدا کردن الگوهای متنی در رشته‌ها و فایل‌ها.

آیا رجکس فقط در برنامه‌نویسی استفاده می‌شود؟

خیر، در ویرایشگرهای متن، وردپرس، گوگل شیتس، اکسل، سرچ کنسول گوگل، PowerShell و خیلی ابزارهای روزمره هم قابل استفاده است.

مهم‌ترین کاربردهای رجکس چیست؟

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

به این مطلب امتیاز دهید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بیست − چهارده =

پشتیبانی آنلاین!