Semnul caret în interiorul seturilor în expresiile regulate JavaScript
După cum știți, semnul caret în interiorul [ ] face
negație, atunci când este scris la începutul parantezelor.
Aceasta înseamnă că este un caracter special în interiorul
acestor paranteze. Pentru a obține semnul caret ca simbol,
trebuie fie să-l escapați, fie să-l mutați de pe prima poziție.
Exemplu
În următorul exemplu, modelul de căutare este:
primul caracter este orice în afară de 'd',
apoi două litere 'x'.
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');
Rezultatul în variabilă va fi următorul:
'! ! ! dxx'
Exemplu
Acum modelul de căutare este: primul caracter
este 'd' sau '^', apoi două
litere 'x':
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');
Rezultatul în variabilă va fi următorul:
'axx bxx ! !'
Exemplu
Puteți să nu mutați semnul caret de pe prima poziție, ci pur și simplu să-l escapați folosind backslash, și acesta va reprezenta însuși simbolul:
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');
Rezultatul în variabilă va fi următorul:
'axx bxx ! !'
Probleme practice
Este dat șirul:
let str = '^xx axx ^zz bkk @ss';
Scrieți o expresie regulată care va găsi șirurile după modelul: semnul caret sau arond, apoi două litere latine.
Este dat șirul:
let str = '^xx axx ^zz bkk @ss';
Scrieți o expresie regulată care va găsi șirurile după modelul: NU semnul caret și nu arond, ci apoi două litere latine.
Este dat șirul:
let str = '^xx axx ^zz bkk';
Scrieți o expresie regulată care va găsi șirurile după modelul: nu semnul caret și nu spațiu, ci apoi două litere latine.