قبلا در مورد براکت صحبت کردیم و گفتیم که پرانتز رو فعلا مشابه بدونید؛ اما امروز قراره این مبحث رو باز ترش کنیم.
amir 2002
ali 2000
daniyal 2002
hamid 2012
sobhan 1980
قبل از اینکه بخوام توضیح گروه بندی رو بدم ، بزارید یه ریجکس بنویسم:
/[a-zA-Z]* \d{4}/gm
amir 2002, ali 2000, daniyal 2002, hamid 2012, sobhan 1980
اگه تا حالا با آموزش پیش رفته باشید ، ریجکس بالا رو ساده میتونید بفهمید ؛ کل ریجکس بالا میگه عباراتی رو پیدا کن که ، اولشون کارکتر a تا z (هم بزرگ و هم کوچیک) و در ادامه یک فاصله و یک عدد 4 رقمی وجود داشته باشه.
[a-zA-Z0-9_]
یعنی شما با براکت خیلی راحت میتونید ، رنج های محتلفی ایجاد کنید :)
وقتی از گروه بندی استفاده میکنیم، یعنی ریجکس خودمون رو به بخش ها واحد دسته بندی کردیم (مثلا توی مثال بالا ، اول اسمه، دوم یه عدد 4 رقمی که سال تولده. ما میتونیم توی ریجکس گروه اول رو به اسم اختصاص بدیم و گروه دوم رو به سن و در دریافت مقادیر یه دسته بندی برای خودمون داشته باشیم)
([a-zA-Z]*) (\d{4})
amir 2002, ali 2000, daniyal 2002, hamid 2012, sobhan 1980
برای اینکه بفهمیم این اصلا کجا کاربرد داره ، من توی جاوا اسکریپت یه اسکریپت ساده مینویسم.
let text = '.....' // همون متن بالا
let regex = /([a-zA-Z]*) (\d{4})/gmi;
let matchAll = text.match(regex)
let names = [];
let born = [];
matchAll.forEach(() => {
let match = regex.exec(matchAll);
names.push(match[1]);
born.push(match[2])
})
console.log(names, born)
ha-ha
man-man
check-chick
no-yes
one-two
beb-beb
فرض کنید ، ما میخوایم از متن بالا ، عباراتی رو انتخاب کنیم که بینشون دَش (-) باشه و دو طرف دَش شبیه به هم باشن.
اینجا از گروه بندی و ارجاع به گروه استفاده میکنیم (ارجاع ، یعنی اشاره کردن)
ریجکس زیر رو ببنید:
/(\w+)-\1/img
ha-ha, man-man, beb-beb
خیلی بخوام واضح ریجکس بالا رو توضیح بدم میشه این : عباراتی را پیدا کن که ، اولشون به تعداد 1 الی اِن تا حروف داشته باشه و در ادامه یک دَش قرار بگیره و در آخر همان گروهی که پیدا شده در ادامه دَش وجود داشته باشه.
برای مثال ، ریجکس بالا بدون گروه بندی و ارجاع میشه این :
/\w+-\w+/img
Site : Regex
#regex #regular_expression
#regex_7
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡14❤🔥3🔥3