⊗jsSpREHHy 110 of 294 menu

Defisin unutar skupova u regularnim izrazima JavaScript

Defisin - takođe specijalni karakter unutar [ ] (a izvan - nije). Ako vam je potreban sam defisin kao karakter - onda ga postavite tamo, gde neće biti shvaćen kao separator grupe.

Zašto je ovo važno: možete napraviti grupu karaktera, sami to ne primećujući. Na primer, ovako - '[:-@]' - mislite da odabirate dvotačku, defisin i ampersand, a u stvari se dobija grupa karaktera između : i @. U ovu grupu spadaju sledeći karakteri: ? < = > : ;

Odakle se oni pojavljuju? Iz ASCII tabele - dvotačka ima manji broj nego ampersand - i dobija se grupa. To jest sve grupe se dobijaju po ASCII tabeli (po želji ovime se može koristiti).

Kako se boriti protiv ovoga: postavite karakter defisina tamo gde sigurno neće biti shvaćen kao karakter grupe, na primer, na početku ili na kraju (to jest posle [ili pre ]).

Takođe se može eskejpovati defisin - onda će označavati sam sebe nezavisno od pozicije. Na primer, umesto [:-@] napisati [:\-@] - i grupe više neće biti, a biće tri karaktera - dvotačka, defisin i ampersand @.

Primer

U sledećem primeru šablon pretrage je sledeći: cifra 1, zatim slovo od 'a' do 'z', zatim cifra 2:

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

Kao rezultat u promenljivu će biti zapisano sledeće:

'! 1-2 ! !'

Primer

Hajde sada da eskejpujemo defisin. Kao rezultat šablon pretrage je sledeći: cifra 1, zatim slovo 'a', ili defisin, ili slovo 'z', zatim cifra 2:

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

Kao rezultat u promenljivu će biti zapisano sledeće:

'! ! 1c2 !'

Primer

Možete jednostavno pomeriti defisin, ne eskejpujući ga:

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

Kao rezultat u promenljivu će biti zapisano sledeće:

'! ! 1c2 !'

Primer

U sledećem primeru šablon pretrage je sledeći: prvi karakter - to su mala slova ili defisin '-', onda dva slova 'x':

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

Kao rezultat u promenljivu će biti zapisano sledeće:

'! Axx ! @xx'

Primer

U sledećem primeru šablon pretrage je sledeći: prvi karakter - to su mala, velika slova ili defisin '-', onda dva slova 'x':

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

Kao rezultat u promenljivu će biti zapisano sledeće:

'! ! ! @xx'

Primer

Možete postaviti defisin između dve grupe - tu sigurno još neće napraviti još jednu grupu:

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

Kao rezultat u promenljivu će biti zapisano sledeće:

'! ! ! @xx'

Praktični zadaci

Data je string:

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

Pronađite sve stringove po sledećem šablonu: slovo 'x', veliko ili malo slovo ili defisin, slovo 'z'.

Data je string:

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

Pronađite sve stringove po sledećem šablonu: slovo 'x', zatim ili dolar, ili defisin ili plus, onda slovo 'z'.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij