Regex
regex مخفف کلمهی Regular Expression است. که اگه بخوایم به فارسی ترجمه کنیم میشه یه چیزی شبیه کلمه بندی منظم یا عبارت با قاعده. به ما در پیدا کردن و مدیریت نوشتهها کمک میکند. رجکس از یک سری کاراکتر برای جستجو و تغییر در متنها استفاده میکنه. مثلا برای شروع اگه یک کلمه یا حرف را بخواهیم جستجو کنیم، همان کلمه را مینویسیم.
. Dot
از نقطه برای مشخص کردن تمام کارکترها از جمله اسپیس استفاده میشود.
[abc]
از براکت برای مشخص کردن مجموعهای از کارکترها استفاده میکینم. مثلا میخواهیم رجکسی بنویسیم که این کلمه را در داخل جمله پیدا کند.
bing, bang, bong
b[iao]ng
[abc^]
اگه بخواهیم این حروف نباشد از علامت هت استفاده میکنیم. مثلا بخواهیم bang و beng نباشند.
bing, bang, bong, beng
b[^ae]ng
[a-z]
اگر بخواهیم بازهای از حروف را مشخص کنیم. مثلا از حرف e تا o را مشخص کنیم. برای اعداد هم بهمین صورت است.
abcdefghijklmnopqrstuvwxyz
[e-o] => efghijklmno
012345678
[3-6] => 3456
یا اگر بخواهیم با یک دستور سه کلمهی bing و sing و king را در یک جمله پیدا کنیم از این رجکس استفاده میکنیم.
[ksb]ing
+*?
برای مشخص کردن تعداد از این کرکتر ها استفاده میشود.
مثلا * ستاره بعد از کارکتری بیاد به این معنی میباشد که چه نباشه و چه باشه و اونم به هر تعداد قبوله. وقتی از be*r استفاده میکنیم از سه کلمه زیر را انتخاب کردهایم.
وقتی بخواهیم یک کارکتر حداقل یک بار تکرار شده باشد از + استفاده میکنیم. مثلا be+r فقط دو کلمه آخر را بر میگرداند.
از ? وقتی استفاده میکنیم که یک حرف یا باشه یا نباشه و تعداد دیگه مطرح نیست.
{n}
از کرلی برکت برای مشخص کردن تعداد استفاده میشود. رجکس be{2}r فقط کلمهی beer را بر میگرداند.
()
از پرانتز برای تشکیل گروه استفاده میشود. مثلا در ریاضی مینویسیم (3+5)2 یعنی اول داخل پرانتز انجام شود بعد در دو ضرب شود.
|
از این علامت که همان or در برنامه نویسی هست برای نوشتن شرطهای بیشتر استفاده میشود. مثلا اگر شرط اول بر قرار بود یا برو سراق شرط دوم.
\
خب اگر بخواهیم همین کرکترهایی که جزو دستورات رجکس هست را مشخص کنیم باید از بک اسلش استفاده میکنیم. دقیقا مانند برنامه نویسی. مثلا اگر بخواهیم ستاره ها را در جمله مشخص کنیم از *\ استفاده میکنیم.
^
معنی اول جمله را میدهد. یعنی اگر بخواهیم مشخص کنیم که جمله حتما با عدد شروع شده باشد عبارت زیر را مینویسیم.
abc23asd
2abcdef
^[0-9] => 2abcdef
$
معنی آخر عبارت را میدهد. اگر بخواهیم که جمله حتما با html تمام شده باشد از عبارت زیر استفاده میکنیم.
https://otherdomain.com/html-elementsh
ttps://website.com/html5-features.html
html$ => ttps://website.com/html5-features.html
w\
برای انتخاب حروف و اعداد و آندراسکور _ از این عبارت استفاده میشود. اگر W را بزرگ تایپ کنیم برعکس میشود و تمام کرکترها بغیر از حروف و اعداد و _ انتخاب میشوند.
d\
برای انتخاب اعداد استفاده میشود. اگر از D بزرگ استفاده بشود همه کرکترها بغیر از اعداد استفاده میشوند.
s\
برای پیدا کردن اسپیس در جمله استفاده میشود. اگر از S بزرگ استفاده شود همهی کرکترها بغیر از اسپیس برگردانده میشود.
(=?)
نگاه به بعد از شرط ما می اندازد. مثلا میخواهیم در جملهای دنبال ساعت بگردیم. میدانیم بعد از یک یا چند عدد اگر PM یا AM باشد، پس آن عدد نشانگر ساعت است.
(!?)
برعکس دستور بالا عمل میکند. یعنی اگر بعدش PM نباشد را بر میگرداند و تاریخ را برمیگرداند.
دیدگاه ها :