regex چیست و چه کاربردی دارد؟

regex چیست و چه کاربردی دارد؟

ریجکس (Regex) چیست؟

یکی از جدید‌ترین ابزار سرچ کنسول رجکس است که بسیاری از افراد نه از آن استفاده می‌کنند و نه دقیقاً می‌دانند چه‌کار می‌کند. regex در لفظ به معنی عبارت باقاعده (Regular Expression) است. چیدن این عبارت‌های باقاعده پشت‌هم دنباله‌ای از عبارات قابل سرچ را ایجاد می‌کند که الگو مشخصی را دنبال می‌کنند.

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

توئیت جان مولر درباره regex

 

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

خوب بالاتر به اینکه رجکس چیست اشاره کردیم و به‌صورت کلی کارایی آن هم بیان کردیم؛ اما می‌خواهیم به‌دقت بررسی کنیم که چرا به‌جای استفاده از فیلترهای ساده query و page در سرچ کنسول باید از regex استفاده کنیم.

  • فیلترهای پیش‌فرض سرچ کنسول محدود هستند و اگر دنبال دیتای خیلی دقیق باشیم به ریجکس نیاز داریم. مثلاً فرض کنید دنبال کلماتی هستید که با یک حرف یا کلمه خاص شروع می‌شوند. مثال کلماتی در سرچ کنسول که با خرید یا فروش شروع می‌شوند: خرید کتاب، خرید کتاب دست‌دوم، خرید کتاب ملت عشق، فروش کتاب رمان و…
  • از طرفی سرعت هم در کوئری‌های پیش‌فرض سرچ کنسول پایین است موردبه‌مورد باید فیلترها را انتخاب کنید و پشت‌هم بچینید تا یک خروجی به شما دهند و کافی‌ست یک جای کار را اشتباه کنید تا مجبور باشید دوباره پروسه را تکرار یا بررسی کنید.
  • مشکل بزرگ دیگر محدودیت است همه ما می‌دانیم که در سرچ کنسول با محدودیت ۱۰۰۰تایی برابر هستیم و این عدد برای سایت‌های متوسط و روبه‌بالا در حجم کلمه و سرچ عدد بسیار کمی است و کار تحلیل را سخت می‌کند. به کمک رجکس از این محدودیت عبور می‌کنید.
  • کارهایی که با فیلتر عادی محال است. مثال فکر کنید دنبال تمامی صفحات و کلماتی هستید که ctr کمی دارند و با کلمه خرید شروع و با کلمه تخفیف تمام می‌شوند ببینم می‌توانید این مورد را با فیلترهای پیش‌فرض پیدا کنید؟

به‌علاوه regex در موارد دیگر هم کاربرد دارد که چون از مقوله ما دور است صرفاً به آن اشاره می‌کنیم:

  • اعتبارسنجی ایمیل
  • اعتبارسنجی رمزها
  • پیداکردن دیتاهای تکراری
  • پیداکردن میزان سرچ
  • و…

 

شاید برای شما مفید باشد: جایگاه صفر گوگل (Zero Position)

نحوه استفاده regex در سرچ کنسول

قبل از هر چیز باید ببینیم چطور می‌توانیم ریجکس را در سرچ کنسول فعال کنیم و این فیلتر دقیقاً در کجاها کار می‌کند. برای این منظور وارد سرچ کنسول خود شوید؛ مانند تصویر زیر به تب performance بروید روی Add filter کلیک کنید. رجکس روی دو مورد Query و Page کار می‌کند.

فعال کردن فیلتر Regex در سرچ کنسول

 

سپس در پنجره باز شده مطابق تصویر زیر گزینه Regex را انتخاب کنید در هر دو مورد Query و Page این مرحله تفاوتی نمی‌کند. حال برای شما کادری باز شده است که می‌توانید دستورات ریجکس را در آن بنویسید.

فعال کردن فیلتر رجکس در سرچ کنسول

 

در این مرحله شما دو حالت برای جستجو با دستورات رجکس دارید یکی شامل شدن و دیگری شامل نشدن. به‌عنوان‌مثال شما می‌توانید بگویید همه مواردی که با سئو شروع شوند یا همه مواردی که با سئو شروع نمی‌شوند. در تصویر زیر به کمک گزینه ای که مشخص شده است می‌توانید این کار را انجام دهید.

فعال کردن فیلتر ریجکس در سرچ کنسول

اگر دنبال اطلاعات بیشتر درباره نحوه استفاده از regex هستید صفحه رسمی سرچ کنسول گوگل می‌تواند به شما کمک کند: Regular expression filter. حالا که یاد گرفتیم چطور باید از ریجکس در سرچ کنسول استفاده کنیم وقت آن رسیده دستورات regex و علائم آن را بشناسیم. دستورات رجکس برای برنامه‌نویسی و زبان‌هایی مثل Python یا JavaScript استفاده می‌شود که ما در سرچ کنسول از همه آن نمی‌توانیم استفاده کنیم و تنها بخش محدودی از دستورات در سرچ کنسول اجرا می‌شوند.

پس اگر جایی با دستورات regex بیشتر که کارایی‌های عجیب دارند روبرو شدید تعجب نکنید، آنها برای زبان‌های برنامه‌نویسی هستند قبل‌تر هم توضیح دادم مواردی مثل اعتبارسنجی ایمیل و رمز عبور و…

 

شاید برای شما مفید باشد: حذف بک لینک مخرب با disavow links

 

علائم و معانی هرکدام در رجکس

باتوجه‌به گفته قبل علائم رجکس را می‌توانیم به ۲ دسته تقسیم کنید علائمی که در سرچ کنسول کاربرد دارند علائمی که در برنامه‌نویسی کاربرد دارند. در حالت کلی می‌تواند علائم را به ۶ دسته تقسیم کرد که با یک عملگر تنها می‌شود ۷ مورد:

  • کاراکترهای پایه
  • عملگرهای تکرار
  • عملگرهای گروه‌بندی و ارجاع
  • عملگرهای انطباق
  • عملگرهای مجموعه‌ها
  • عملگرهای تطابق پیش‌نگر و پس نگر (Lookahead و Lookbehind)
  • عملگر Escape

شاید کمی این عملگرها و کارایی آنها برای شما عجیب باشد اصلاً نیاز نیست شما همه این موارد را بدانید و یاد بگیرید اینها تمام موارد ریجکس هستند درصورتی‌که ما فقط مواردی را می‌خواهیم که در سرچ کنسول کارایی دارد.

  • کاراکترهای پایه
  • عملگرهای تکرار
  • علامت‌های شروع و پایان رشته
  • عملگر Escape

با این اوصاف برای راحتی شما عزیزان جدول زیر را آماده کرده‌ایم که کل علائمی که در سرچ کنسول کار می‌کنند با مثل آمده‌اند برای یادگیری علائم بیشتر که البته در برنامه‌نویسی کاربرد دارند می‌توانید به صفحه گیت‌هاب کد های Regex مراجعه کنید.

علامتمثالتوضیح کامل مثال به زبان ساده
^^appleهر کوئری‌ای که با “apple” شروع شود. مثلاً “apple pie” ولی نه “my apple.”
$shop$هر کوئری‌ای که با “shop” تمام شود. مثلاً “online shop” ولی نه “shopping time.”
|car|bikeکوئری‌ای که یا شامل “car” باشد یا “bike.” مثلاً “car sale” یا “bike ride.”
..هر کاراکتری می‌تواند باشد. مثلاً “a”, “1”, یا حتی “@”
[abc]a[bc]بعد از “a”، یکی از حروف “b” یا “c” باید بیاید. مثلاً “ab” یا “ac”.
[^abc]a[^bc]بعد از “a”، هیچ‌کدام از حروف “b” یا “c” نباید بیاید. مثلاً “ad” یا “ae”.
[a-z][a-z]+هر ترکیبی از حروف کوچک الفبا. مثلاً “abc” یا “xyz”.
*a*صفر یا بیشتر از “a”. مثلاً “” (هیچ “a”) یا “aaa”.
+a+حداقل یک “a”. مثلاً “a”, “aa”, یا “aaa”.
?a?صفر یا یک “a”. مثلاً “” یا “a”.
{n,m}a{2,5}بین ۲ تا ۵ تا “a”. مثلاً “aa”، “aaa”، یا “aaaaa”.
\d\d+برای پیدا کردن اعداد. مثلاً “123”.
\D\D+برای پیدا کردن هر چیزی که عدد نباشد. مثلاً “abc”.
\s\s+برای پیدا کردن فضای خالی (مانند فاصله).
\S\S+برای پیدا کردن هر کاراکتری که فضای خالی نباشد.
\.برای وقتی که می‌خواهید از نقطه (.) به‌عنوان یک نقطه واقعی استفاده کنید، نه هر کاراکتر. مثلاً “example.com” بدون این که نقطه به جای هر کاراکتری دیده شود.

کافی‌ست مطابق جدول عمل کنید و جای مثال‌ها عبارت خود را بگذارید مثلاً:

  • من می‌خواهم کلماتی را جستجو کنم که با سئو شروع شوند (^سئو)
  • من می‌خواهم کلماتی را جستجو کنم که با وردپرس تمام شوند (وردپرس$)
  • من می‌خواهم کلماتی را جستجو کنم که در آنها سئو یا وردپرس باشد (وردپرس|سئو)

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

 

شاید این مطلب برای شما مفید باشد:  پیدا کردن کلمات کلیدی LSI

 

لیست پرکاربرد ترین دستورات regex

در لیست زیر کدهای ترکیب شده‌ای را با مثال آورده‌ایم تا به کمک آن و تنها با جای‌گذاری کلمات خود در آن خروجی حرفه‌ای بگیرید. اگر خروجی خواستید که در کدها حاصل نشد آن را در کامنت برای ما بنویسید تا کد آن را برای شما قرار دهیم.

 

کد Regexکد به همراه مثالتوضیح جامع کدخروجی مثال
^https:\/\/[^\/]+\/blog^https:\/\/[^\/]+\/blogاین کد تمامی URLهایی که با “https://” شروع شده و دارای “/blog” پس از دامنه هستند را فیلتر می‌کند. مناسب برای یافتن صفحات مرتبط با بلاگ.https://example.com/blog، https://mysite.com/blog
[آ-ی]{4,}\s(?:[\d]+)[آ-ی]{4,}\s(?:[\د]+)این کد کلماتی را فیلتر می‌کند که شامل چهار حرف فارسی یا بیشتر هستند و بلافاصله پس از آن یک عدد قرار گرفته است.شماره 2023، محصول 1402
(?<=تخفیف\s)[آ-ی]+(?<=تخفیف\s)[آ-ی]+کلمه‌ای که بلافاصله پس از “تخفیف” آمده است را فیلتر می‌کند. مناسب برای یافتن کلمات کلیدی مرتبط با تخفیف.تخفیف ویژه، تخفیف شگفت‌انگیز
(?!.*\bتبلیغات\b).*سایت(?!.*\bتبلیغات\b).*سایتاین الگو کلمات کلیدی که شامل “سایت” هستند اما “تبلیغات” در آنها نیامده را فیلتر می‌کند. مناسب برای یافتن کلمات کلیدی مرتبط با سایت بدون تبلیغات.مدیریت سایت، خدمات سایت
\b(?!خرید\b)\w+\b(?!خرید\b)\w+کلماتی که شامل “خرید” نباشند را فیلتر می‌کند. این کد مناسب برای حذف نتایج مرتبط با خرید و تمرکز روی دیگر کلمات است.فروش، سفارش، محصول
(?<!دیجیتال)\sمارکتینگ(?<!دیجیتال)\sمارکتینگاین کد کلماتی که شامل “مارکتینگ” هستند اما “دیجیتال” قبل از آن نیامده است را فیلتر می‌کند. مناسب برای یافتن نوع خاصی از کلمات کلیدی که به دیجیتال مارکتینگ اشاره ندارند.مارکتینگ محتوا، برند مارکتینگ
\b[آ-ی]+\s[آ-ی]+$\b[آ-ی]+\s[آ-ی]+$این ترکیب تمامی کلمات کلیدی دو کلمه‌ای که هر دو کلمه به فارسی باشند و در انتهای عبارت بیایند را فیلتر می‌کند.فروشگاه اینترنتی، طراحی سایت
^[^\u0600-\u06FF]+$^[^\u0600-\u06FF]+$این کد برای فیلتر کردن کلمات کلیدی که کاملاً غیر فارسی هستند استفاده می‌شود. مناسب برای جدا کردن کلمات انگلیسی یا کاراکترهای غیر فارسی از نتایج جستجو.Amazon، Google، Online Marketing
(?<!\d)\d{4}(?!\d)(?<!\d)\d{4}(?!\d)این کد برای فیلتر کردن اعداد چهاررقمی که نه قبل از آنها و نه بعد از آنها عدد دیگری نباشد، کاربرد دارد. برای پیدا کردن سال‌ها مانند “1402” یا “2023” مناسب است.2022، 1402
[آ-ی]+\d{3,}\b[آ-ی]+\d{3,}\bاین الگو کلمات فارسی که حداقل شامل سه عدد پس از آن هستند را فیلتر می‌کند. مناسب برای یافتن کلمات کلیدی که شامل اطلاعات عددی طولانی هستند.قیمت1234، محصول5678
(?<=\d{4}\/)\d{2}(?=\/)(?<=\d{4}\/)\d{2}(?=\/)این کد برای پیدا کردن ماه از رشته‌ای که شامل تاریخ است به فرمتی مانند 1402/05/07 کاربرد دارد. فقط بخش مربوط به ماه را فیلتر می‌کند.05، 08
^[^\s]{10,}^[^\s]{10,}این کد کلماتی را که حداقل 10 کاراکتر بدون فاصله باشند فیلتر می‌کند. مناسب برای یافتن عبارات طولانی بدون فاصله در کلمات کلیدی فارسی است.دیجیتالمارکتینگ، فروشگاهآنلاین
(?=.*\bخدمات\b)(?=.*\bوب\b)(?=.*\bخدمات\b)(?=.*\bوب\b)این ترکیب به دنبال کلماتی می‌گردد که شامل “خدمات” و “وب” به صورت همزمان باشند. برای یافتن ترکیبات خدمات مرتبط با وب مفید است.خدمات وب، خدمات طراحی وب
[آ-ی]{2,}\d{2,}(?!\/)[آ-ی]{2,}\d{2,}(?!\/)این کد به دنبال کلمات فارسی است که پس از آن‌ها حداقل دو عدد بیاید و آن عدد با اسلش ادامه نیابد. مناسب برای فیلتر کردن ترکیبات متن و عدد بدون فرمت تاریخ است.محصول2023، سرویس1402
(?<=سال\s)[آ-ی]+(?<=سال\s)[آ-ی]+این الگو به دنبال کلمه‌ای است که بلافاصله پس از کلمه “سال” آمده باشد. مناسب برای پیدا کردن عبارات زمانی مانند “سال گذشته” یا “سال جدید”.سال نو، سال گذشته
(?=.*\bفروش\b)(?!.*\bخرید\b)(?=.*\bفروش\b)(?!.*\bخرید\b)این ترکیب به دنبال کلماتی می‌گردد که شامل “فروش” باشند ولی “خرید” در آن‌ها نیامده باشد. مناسب برای جداسازی کلمات کلیدی مرتبط با فروش بدون اشاره به خرید.فروشگاه اینترنتی، فروش عمده
(?<=قیمت\s)[\d]+(?<=قیمت\s)[\د]+این کد به دنبال عددی است که بلافاصله پس از کلمه “قیمت” آمده باشد. برای یافتن قیمت محصولات مناسب است.1500، 500000

ما در خدمات سئو وردپرس خود از این کد‌ها و بسیاری کد دیگر استفاده می‌کنیم تا تحلیل‌های دقیقی به کارفرما ارائه دهیم.

4.8 از 5 - (5 امتیاز)
8 thoughts on “regex چیست و چه کاربردی دارد؟

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

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