regex چیست؟ چه طور استفاده کنیم؟
regex یا عبارتهای باقاعده کاربردهای مختلف برای استخراج دادهها، جستجو و جایگزینی متن و اعتبارسنجی ورودی دارد. این امکان در سرچ کنسول برای به دست آوردن کوئریهای مختلف اضافه شده است و امکان پیدا کردن کیوردهای مختلف را فراهم کرده است. در ادامه در مورد اینکه regex چیست و نحوه استفاده در سرچ کنسول توضیح میدهیم.
Regex چیست؟
Regular expressions یا regex عبارتهای باقاعده هستند و به طور گسترده در زبانها و برنامههای مختلف کامپیوتری استفاده میشوند. این الگوها برای مطابقت با رشتههای متن استفاده میشوند و یک ابزار قدرتمند هستند که برای کارهای مختلفی مانند جستجو و جایگزینی متن، استخراج دادهها و اعتبارسنجی ورودی استفاده میشوند.
کاربردهای Regex
regex کاربردهای مختلفی در علوم کامپیوتر دارند و برخی از کاربردهای رایج عبارتند از:
- جستجو و جایگزینی متن: regex برای یافتن و جایگزینی نمونههایی از متن در یک رشته استفاده میشوند. برای کارهایی مانند تصحیح غلط املایی، یافتن و جایگزینی الگوهای متنی و فرمتبندی متن مفید است.
- استخراج دادهها: برای استخراج دادههای خاص از یک رشته متن کاربرد دارد مثلا برای استخراج آدرس ایمیل، شماره تلفن و آدرس سایت که دارای فرمت یکسان هستند، کاربرد دارد. regex در سرچ کنسول برای پیدا کردن ورودیهای یک سایت کاربرد دارد.
- اعتبارسنجی ورودی: regex برای تایید مطابقت ورودی کاربر با معیارهای خاصی کاربرد دارد به عنوان مثال برای کارهایی مانند بررسی معتبر بودن آدرس ایمیل، قوی بودن رمز عبور، فرمت درست یک تاریخ و… مفید است.
کاربرد Regex در سرچ کنسول
ابزار سرچ کنسول بهترین ابزار برای کمک به متخصصین سئو برای بررسی رتبه کلمات و میزان ورودی هر کدام است. در یک پروژه سئو نیاز به بررسی چند هزار کلمه دارید و قطعا این کار به صورت دستی امکان پذیر نیست. در سال 2020 جان مولر امکان فیلتر دستی در سرچ کنسول معرفی کرد که به کمک regex یا عبارات قاعده مند قابل انجام است و به این ترتیب امکان دریافت سخت ترین و پیچیده ترین گزارشات امکان پذیر است.
یک مثال ساده فرض کنید که در حوزه لوازم خودرو کار می کنید و حالا می خواهید تمام کوئری ها را بررسی کنید که در آن لوازم خودرو باشد که اگر در سرچ کنسول لوازم خوردو را سرچ کنید کلماتی که دارای کلمه لوازم خودرو هستند را مایش میدهد و کلمات شامل لوازم جانبی خودرو، لوازم یدکی خودرو و… ارا نمایش نمیدهد. برای نوشتن عبارت باقاعده برای کوئری مورد نظر باید لوارم.* خودرو.* را قرار دهید، خب اینجا نقطه به این معنی است که کاراکتری که پس از لوازم خودرو قرار بگیرند مثلا لوازم خودرو اصلی، لوازم خودرو اورجینال و… را استخراج میکند و علامت ستاره منظور کاراکترهایی است که پس از کلمه لوازم و خودرو قرار می گیرند مثلا لوازم جانبی خودرو ایرانی، لوازم جانبی خودرو خارجی و…
برای استفاده از regex به سرچ کنسول بروید و از قسمت Performance قسمت Query را انتخاب کنید.
و حالا دسترسی را بر روی regex قرار دهید.
به این ترتیب میتوانید دستورات regex را وارد کنید و تمام کوئریهای مورد نظرتان را به دست آورید.
استفاده از Regex در افزونه یواست سئو
یکی از کاربرد های regex در افزونه یواست سئو است و وبرای ریدایرکت دسته جمعی چند لینک بر روی یک لینک کاربرد دارد. در این افزونه با وارد کردن ساختار لینکهای مشابه میتوانید ریدایرکتها را یکجا انجام دهید و نیازمند صرف زمان زیاد برای تک تک لینکها نیست.
شما میتوانید از تب دوم که مربوط به ریدایرکت ریجکس چندین لینک را به یک لینک ریدایرکت کنید. این قسمت برای تغییر آدرس مثل پروفایلهای کاربران، تغییر ساختار نامک و … ایجاد شده است. ریدایرکت دسته جمعی کاربرد دارد مثالا می توانید مشخص کنید که لینکهای خاصی که تعداد آنها 50 مورد هست همگی به یک لینک خاصی ریدایرکت شوند.
نحوه عملکرد Regex
regex از ترکیبی از کاراکترهای معمولی و متاکاراکتر برای تعریف الگوها استفاده میکند. در regex هر کدام از کاراکترها معنی خاص خود را دارند که در ادامه به صورت خلاصه هر کدام را توضیح میدهیم:
- .: هر کاراکتر را می توان جایگزین کرد
- *: کاراکتر مورد نظر صفر یا چندبار تکرار شده مثلا Go*d حاصل به صورت Gd ،God ،Goood
- +: کاراکتر قبل یک یا چند بار تکرار شده مثلا Go+d حاصل به صورت God ،Good ،Goood
- []: هر کاراکتری که در کروشه قرار داده شده را بررسی می کند مثلا g[aei]m حاصل به صورت gam، em ، gim
- $ : عبارات مورد نظر با این ساختار به پایان رسیده است مثلا $est حاصل به صورت Best
- ^: عبارت مورد نظر با این ساختار شروع شود مثلا est^ خروجی به این صورت است test و testi
regex در ابتدا ممکن است کمی گیج کننده باشد اما با کمی تمرین و تکرار می توانید از این عبارات برای پیدا کردن کوئری های مورد نظر استفاده کنید. در صورت داشتن سوال در مورد regex در قسمت دیدگاهها از ما بپرسید.