کلاس های کاراکتری (RegExp Classes)
در «عبارات منظم (Regular Expression)»، «کلاس کاراکتری (Character Class)» یعنی داخل براکت ها [] یک گروه نویسه تعریف کنیم. بعد، هر نویسه داخل آن گروه قبول می شود. شبیه لیست حضور و غیاب مدرسه است.
کلاس کاراکتری چیست؟
وقتی می نویسیم [0-9] یعنی هر رقم 0 تا 9. وقتی می نویسیم [abc] یعنی a یا b یا c. وقتی [^...] می گذاریم یعنی «به جز» آن ها.
// Match digits 0-9
const pattern = /[0-9]/;
کلاس های پرکاربرد
[a]: همان نویسه داخل براکت.[^a]: هر نویسه، به جز a.[abc]: یکی از a یا b یا c.[^abc]: هر نویسه، به جز a,b,c.[a-z]: بازه a تا z.[^a-z]: هر چیزی غیر از a تا z.[0-9]: ارقام 0 تا 9.[^0-9]: هر چیزی غیر از رقم.
نکته: [0-4] همان [01234] است. همین طور [a-e] برابر [abcde] است.
نمونه ها: از متن واقعی
بیایید با مثال ها قشنگ جا بیفتد. مثل پیدا کردن حروف خاص در جمله.
let text = "Hello World!";
const pattern = /[HW]/g;
let result = text.match(pattern);
let text = "This is W3School";
const pattern = /[A-Z]/g;
let result = text.match(pattern);
let text = "123456789";
const pattern = /[1234]/g;
let result = text.match(pattern);
let text = "123456789";
const pattern = /[1-4]/g;
let result = text.match(pattern);
گام های تمرینی سریع
- با
[A-Z]حروف بزرگ را جدا کن. - با
[^0-9]غیررقم ها را پیدا کن. - یک بازه سفارشی مثل
[m-r]بساز.
نکته: برای ترکیب با پرچم ها، به پرچم ها (RegExp Flags) سر بزن. برای مبانی الگوها هم عبارات منظم (RegExp) را ببین.
جمع بندی سریع
[]یعنی انتخاب از یک گروه.[^...]یعنی به جز آن گروه.- بازه ها را با
-می نویسیم. - مثال ها را در ادیتور اجرا کن.