متاکاراکترها (RegExp Metachars)
در «عبارات منظم (Regular Expression)»، «متاکاراکتر (Metacharacter)» یعنی کاراکتری با معنی ویژه. با آن می توان عدد، حرف، فاصله و چیزهای دیگر را سریع پیدا کرد. مثل فیلترهای آماده در یک جست وجو.
متاکاراکتر چیست؟
متاکاراکترها مثل میانبرند. برای مثال، \w یعنی «کاراکتر کلمه»؛ یعنی a تا z، A تا Z، 0 تا 9 و آندرلاین.
// Match a word character
const pattern = /\w/;
\d: پیدا کردن رقم
\d یعنی هر رقم. شبیه چک کردن نمره های دفتر.
let text = "Give 100%!";
const pattern = /\d/g;
let result = text.match(pattern);
\D: هرچیز به جز رقم
\D یعنی کاراکتری که رقم نیست. مثل فاصله یا حرف.
let text = "Give 100%!";
const pattern = /\D/g;
let result = text.match(pattern);
\w: کاراکتر کلمه
\w یعنی حرف یا رقم یا آندرلاین. برای ساختن شناسه ها مفید است.
let text = "Give 100%!";
const pattern = /\w/g;
let result = text.match(pattern);
\W: غیرکلمه ای ها
\W یعنی هرچیزی جز حرف، رقم، آندرلاین. مثل ! یا فاصله.
let text = "Give 100%!";
const pattern = /\W/g;
let result = text.match(pattern);
\s: فاصله ها و سفیدی ها
\s فاصله، تب و newline را می گیرد. برای جداکردن کلمات عالی است.
let text = "Is this all there is?";
const pattern = /\s/g;
let result = text.match(pattern);
\xhh: کد هگزادسیمال
\xhh یعنی کاراکتر با کد هگز hh. مثل 6F برای o.
let text = "Visit W3Schools. Hello World!";
let pattern = /\x6F/g;
let result = text.replace(pattern, "*");
\uhhhh: یونیکد هگز
\uhhhh یعنی کاراکتر یونیکد با کد هگز hhhh. مثل 0057 برای W.
let text = "Visit W3Schools. Hello World!";
const pattern = /\u0057/g;
let result = text.match(pattern);
گام های تمرینی سریع
- با
\dهمه ارقام جمله را بگیر. - با
\Wعلائم نگارشی را جدا کن. - یک حرف خاص را با
\xhhجایگزین کن.
نکته: برای بازه ها به کلاس های کاراکتری (RegExp Classes) برو. برای مرزها و نگاه جلو/عقب هم ادعاها (RegExp Assertions) را ببین. همچنین پیوند متاکاراکترها (RegExp Metachars) را نگه دار.
جمع بندی سریع
- \d رقم است؛ \D غیررقم.
- \w حرف/رقم/آندرلاین؛ \W غیراین ها.
- \s سفیدی ها را می گیرد.
- \xhh و \uhhhh با کدها کار می کنند.