⊗jsSpREHHy 110 of 294 menu

JavaScript регуляр ифодаларда гиёҳлар ичидаги дефис

Дефис - [ ] ичида ҳам maxsus символ (аммо ташқарида - эмас). Агар сизга дефис ўзи символ сифатида керак бўлса - уни гурух бўлиб қолиш мумкин бўлмайдиган жойга қўйинг.

Бу нега муҳим: сиз ўзингиз сезмай turib символлар гурухи яратиб қўйишингиз мумкин. Масалан, '[:-@]' - сиз икки нуқта, дефис ва @(ит) белгисини танлайман деб ўйлайсиз, лекин аслида : ва @ ўртасидаги символлар гурухи ҳосил бўлади. Бу гурухга quyidagi символлар киради: ? < = > : ;

Улар қаердан келди? ASCII jadvalidan - икки нуқтанинг рақами @(ит) белгисиникидан кичкина - ва гурух ҳосил бўлади. Яъни барча гуруҳлар ASCII таблицаси бўйича ҳосил бўлади (исталганда будан фойдаланиш мумкин).

Бу билан курашиш қандай: дефис символini шундай жойга қўйингки, у аник гурўҳ симфоли сифатида қabul қилинмасин, масалан, бошланишида ёки охирида (яъни [дан кейин ёки ]дан олдин).

Шунингдек, дефисни экранлаш мумкин - у ҳолда у ўз ўрнига қарамай ўзини ифодалайди. Масалан, [:-@] ўрнига [:\-@] деб ёзинг - ва энди гуруҳ бўлмайди, балки учта символ - икки нуқта, дефис ва @(ит) белгиси @ бўлади.

Мисол

Quyidagi misolda qidirish shabloni shunday: 1 рақам, кейин 'a' дан 'z' гача ҳарф, кейин 2 рақам:

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

Натижада ўзгарувчига quyidagi қайд этилади:

'! 1-2 ! !'

Мисол

Келинг энди дефисни экранлаймиз. Натижада qidirish shabloni shunday: 1 рақам, кейин 'a' ҳарф, ёки дефис, ёки 'z' ҳарф, кейин 2 рақам:

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

Натижада ўзгарувчига quyidagi қайд этилади:

'! ! 1c2 !'

Мисол

Уни экранламасдан, жуда қийин ўрнини ўзгартириш мумкин:

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

Натижада ўзгарувчига quyidagi қайд этилади:

'! ! 1c2 !'

Мисол

Quyidagi misolda qidirish shabloni shunday: биринчи символ - кичик ҳарфлар ёки дефис '-', кейин иккита 'x' ҳарф:

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

Натижада ўзгарувчига quyidagi қайд этилади:

'! Axx ! @xx'

Мисол

Quyidagi misolda qidirish shabloni shunday: биринчи символ - кичик, катта ҳарфлар ёки дефис '-', кейин иккита 'x' ҳарф:

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

Натижада ўзгарувчига quyidagi қайд этилади:

'! ! ! @xx'

Мисол

Дефисни икки гуруҳ ўртасига қўйиш мумкин - у жерда у яна бир гуруҳ яратиш аник бўлмайди:

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

Натижада ўзгарувчига quyidagi қайд этилади:

'! ! ! @xx'

Амалий масалалар

Берилган сатр:

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

Quyidagi shablon бўйича барча сатрларни топиш: 'x' ҳарф, катта ёки кичик ҳарф ёки дефис, 'z' ҳарф.

Берилган сатр:

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

Quyidagi shablon бўйича барча сатрларни топиш: '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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш