⊗jsSpREHHy 110 of 294 menu

JavaScript ретіндегі тұрақты өрнектердегі жиындар ішіндегі дефис

Дефис - бұл да [ ] ішіндегі арнайы таңба (ал сыртында - емес). Егер сізге дефис таңба ретінде қажет болса - оны топ бөлгіш ретінде қабылданбайтын жерге қойыңыз.

Бұл не үшін маңызды: сіз өзіңіз байқамай-ақ таңбалар тобын жасай аласыз. Мысалы, осылай - '[:-@]' - сіз үтір, дефис және @ (at) таңбаларын таңдайды деп ойлайсыз, бірақ шын мәнінде : және @ арасындағы таңбалар тобы пайда болады. Бұл топқа мына таңбалар кіреді: ? < = > : ;

Олар қайдан шықты? ASCII кестесінен - үтірдің нөмірі @ (at) таңбасына қарағанда кіші - және топ пайда болады. Яғни барлық топтар ASCII кестесі бойынша алынады (қалауыңызбен осыны пайдалануға болады).

Мұнымен қалай күресу керек: дефис таңбасын оның топ таңбасы ретінде мүлдем қабылданбайтын жерге қойыңыз, мысалы, басында немесе соңында (яғни [-дан кейін немесе ]-дан бұрын).

Сондай-ақ дефісті экранировать жасауға болады - сонда ол орынына қарамастан өзін білдіреді. Мысалы, [:-@] орнына [:\-@] деп жазуға болады - және енді топ болмайды, ал үш таңба болады - үтір, дефис және @ (at) @.

Мысал

Келесі мысалда іздеу шаблоны мынадай: 1 цифры, содан кейін 'a'-дан 'z'-ға дейінгі әріп, содан кейін 2 цифры:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[a-z]2/g, '!');

Нәтижесінде айнымалыға мыналар жазылады:

'! 1-2 ! !'

Мысал

Енді дефісті экранировать жасайық. Нәтижесінде іздеу шаблоны мынадай: 1 цифры, содан кейін 'a' әрпі, немесе дефис, немесе 'z' әрпі, содан кейін 2 цифры:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[a\-z]2/g, '!');

Нәтижесінде айнымалыға мыналар жазылады:

'! ! 1c2 !'

Мысал

Дефісті экранировать жасамай-ақ, орын ауыстыруға болады:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[az-]2/g, '!');

Нәтижесінде айнымалыға мыналар жазылады:

'! ! 1c2 !'

Мысал

Келесі мысалда іздеу шаблоны мынадай: бірінші таңба - бұл кіші әріптер немесе дефис '-', содан кейін екі 'x' әрпі:

let str = 'axx Axx -xx @xx'; let res = str.replace(/[a-z-]xx/g, '!');

Нәтижесінде айнымалыға мыналар жазылады:

'! Axx ! @xx'

Мысал

Келесі мысалда іздеу шаблоны мынадай: бірінші таңба - бұл кіші, үлкен әріптер немесе дефис '-', содан кейін екі 'x' әрпі:

let str = 'axx Axx -xx @xx'; let res = str.replace(/[a-zA-Z-]xx/g, '!');

Нәтижесінде айнымалыға мыналар жазылады:

'! ! ! @xx'

Мысал

Дефісті екі топтың арасына қоюға болады - онда ол мүлдем тағы бір топ жасамайды:

let str = 'axx 9xx -xx @xx'; let res = str.replace(/[a-z-0-9]xx/g, '!');

Нәтижесінде айнымалыға мыналар жазылады:

'! ! ! @xx'

Практикалық тапсырмалар

Мына жол берілген:

let str = 'xaz xBz xcz x-z x@z';

Келесі шаблон бойынша барлық жолдарды табыңыз: 'x' әрпі, үлкен немесе кіші әріп немесе дефис, 'z' әрпі.

Мына жол берілген:

let str = 'xaz x$z x-z xcz x+z x%z x*z';

Келесі шаблон бойынша барлық жолдарды табыңыз: 'x' әрпі, содан кейін не доллар, не дефис не плюс, содан кейін 'z' әрпі.

Қазақ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართული한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау