Regex Cheatsheet 101: بلیط شما برای Regex Mastery

چیت شیت Regex 101
آیا از تلاش برای درک رجکس خسته شده اید؟ نگران نباش، تو تنها نیستی! Regex مانند یک زبان مخفی است که به نظر می رسد تنها تعداد کمی از آن را درک می کنند.
ما شما را تحت پوشش خود قرار داده ایم Regex Cheatsheet 101
!
توجه داشته باشید: این وبلاگ به دلیل قالب بندی توسعه دهنده از نظر بصری جذاب نیست، بنابراین من نیز وبلاگ خود را در جایی که بهتر به نظر می رسد پیوند می دهم.
-
^
: شروع رشته یا خط. آن را به عنوان کلاهی برای متن خود در نظر بگیرید. شروع یک خط را نشان می دهد. -
\A
: شروع رشته. کلاه فانتزی که شروع یک رشته را نشان می دهد. -
$
: انتهای رشته یا خط. برعکس^
، پایان یک خط را نشان می دهد. -
\Z
: انتهای رشته پسر عموی شیک پوش$
که پایان یک رشته را نشان می دهد. -
\b
: مرز کلمه. مانند یک میدان نیروی کوچک در اطراف یک کلمه است که به شما می گوید کجا شروع می شود و کجا به پایان می رسد. -
\B
: نه مرز کلمه. برعکس\b
. -
\<
: شروع کلمه. شبیه به^
و\A
، اما به طور خاص برای کلمات. -
\>
: پایان کلمه برعکس\<
.
-
\c
: کاراکتر کنترل کاراکتری که متن شما را کنترل می کند. مراقب باشید، آن مسئول است! -
\s
: فضای سفید. فاصله ها، برگه ها و سایر کاراکترهای نامرئی که متن شما را زیبا و مرتب می کنند. -
\S
: فضای خالی نیست. هر چیزی که یک فاصله، برگه یا دیگر کاراکترهای نامرئی نباشد. -
\d
: رقمی اعداد 0-9 -
\D
: رقمی نیست. هر چیزی که عدد نیست -
\w
: کلمه. حروف، اعداد و زیرخط. -
\W
: نه حرف هر چیزی که حرف، عدد یا زیرخط نباشد. -
\x
: رقم هگزادسیمال. نامی زیبا برای اعداد و حروف (AF، af) که در کد هگز استفاده می شود. -
\O
: رقم هشتی. اعداد در پایه 8. واقعیت جالب: اختاپوس ها با ارقام نیز خوب هستند!
-
*
: 0 یا بیشتر مثل یک بوفه که هر چند بار که بخواهید می توانید به آن برگردید. -
+
: 1 یا بیشتر مانند یک سالن VIP که فقط به بچه های باحالی که چیزی برای ارائه دارند اجازه ورود می دهد. -
?
: 0 یا 1 (اختیاری). مانند یک چک باکس که می توانید آن را علامت بزنید یا خالی بگذارید. -
{3}
: دقیقاً 3. تعداد کامل دفعات انجام کاری. -
{3,}
: 3 یا بیشتر مثل یک ماراتن که به نظر می رسد هرگز تمام نمی شود. -
{2,5}
: 2، 3، 4 یا 5. مانند یک سوال چند گزینه ای با چندین پاسخ صحیح.
-
\n
: خط جدید. خط شکسته ای که وقتی می خواهید پاراگراف جدیدی را شروع کنید استفاده می کنید. -
\r
: برگشت محموله. یک نام فانتزی برای کلید Enter. -
\t
: برگه دکمه ای که وقتی می خواهید متن خود را تورفتگی کنید فشار می دهید. -
\v
: زبانه عمودی. شخصیتی که به ندرت استفاده می شود و احتمالاً نیازی به نگرانی در مورد آن نخواهید داشت. -
\f
: فید فرم. کاراکتری که بیشتر در چاپگرهای قدیمی استفاده می شود. نگرانش نباش
-
?=
: ادعای پیشاپیش مانند یک توپ کریستالی که به شما می گوید در متن شما چه اتفاقی می افتد. -
?!
: پیش بینی منفی. برعکس?=
. به شما می گوید که چیست نه بعدی در متن شما قرار می گیرد. -
?<=
: نگاه به پشت ادعا. مثل ماشین زمان که شما را به ابتدای یک کلمه یا عبارت برمی گرداند. -
?<!
: نگاه منفی به پشت سر برعکس?<=
. به شما می گوید که چیست نه پشت سر شما در متن شما
-
()
: گروه راهی برای گروه بندی بخش هایی از regex خود با هم. -
(?:)
: گروه غیر اسیر. مانند یک گروه معمولی، اما یک گروه ضبط ایجاد نمی کند. -
\n
: مرجع برگشتی راهی برای ارجاع به یک گروه ضبط قبلی. -
(?P<name>)
: گروه کپچر به نام. راهی برای نام گذاری یک گروه کپچر.
-
|
: تناوب. راهی برای مطابقت با یک چیز یا چیز دیگر. مثل یک دوشاخه در جاده است. -
[]
: مجموعه کاراکتر. راهی برای مطابقت دادن یک شخصیت از مجموعه ای از شخصیت ها. -
[^]
: مجموعه شخصیت های نفی شده. برعکس[]
. با هر چیزی مطابقت دارد نه در مجموعه
-
i
: مورد غیر حساس. با حروف بزرگ و کوچک مطابقت دارد. -
m
: چند خطی اجازه می دهد^
و$
برای مطابقت با ابتدا و انتهای خطوط. -
s
: همه چیز. اجازه می دهد.
برای مطابقت با کاراکترهای خط جدید -
x
: پرمخاطب به شما این امکان را می دهد که regex خود را در چندین خط بنویسید و نظر اضافه کنید.
- اولین کلمه یک جمله را مطابقت دهید:
^\w+
- کل متن را به جز خط آخر مطابقت دهید:
^.*\n.*\n.*$
- تمام کلمات حاوی حرف “ز” را پیدا کنید:
\b\w*z\w*\b
- تمام کلماتی که حرف “e” را ندارند را پیدا کنید:
\b[^e\s]+\b
- هر خطی را که با یک رقم شروع می شود مطابقت دهید:
^\d.*$
- هر خطی را که با علامت نگارشی به پایان می رسد مطابقت دهید:
^.*\p{P}$
- همه شماره تلفن ها را در یک متن پیدا کنید:
(\d{3})-(\d{3})-(\d{4})
- تمام آدرس های ایمیل را در یک متن پیدا کنید:
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
- هر خطی را که با کلمه “Lorem” شروع می شود مطابقت دهید:
^\bLorem\b.*$
- هر خطی را که به یک عدد سه رقمی ختم می شود مطابقت دهید:
^.*\b\d{3}$
- هر خطی را که حاوی کلمه “regex” و کلمه “cheat” است مطابقت دهید:
^(?=.*regex)(?=.*cheat).*$
- هر خطی را که حاوی کلمه “Python” نیست مطابقت دهید:
^(?!.*Python).*$
- هر خطی را که با یک کلمه شروع و ختم می شود مطابقت دهید:
^\b(\w+)\b.*\b\1\b$
- با هر خطی که بیش از 10 کاراکتر دارد مطابقت دهید:
^.{11,}$
- هر خطی را که دقیقاً 3 رقم دارد مطابقت دهید:
^.*\b\d{3}\b.*$
- هر خطی را که دارای کلمه است با 2 یا چند مصوت متوالی مطابقت دهید:
^.*\b[aeiou]{2}\w*\b.*$
- هر خطی را که دارای کلمه ای است با حداقل 3 صامت در یک ردیف مطابقت دهید:
^.*\b[^aeiou]{3}\w*\b.*$
- هر خطی را که دارای کلمه ای است که با “c” شروع و با “t” ختم می شود، مطابقت دهید:
^.*\bc\w*t\b.*$
ابتدا در وبلاگ من در acidop.codes منتشر شد