Hat-symboli joukoissa JavaScriptin säännöllisissä lausekkeissa

Kuten tiedät, hat-symboli [ ] -sulkeiden sisällä muodostaa negaation, kun se kirjoitetaan sulkeiden alkuun. Siis se on erikoismerkki näiden sulkeiden sisällä. Saadaksesi hat-symbolin merkiksi, täytyy joko escapeta se tai poistaa se ensimmäiseltä paikalta.

Esimerkki

Seuraavassa esimerkissä hakumalli on: ensimmäinen merkki on kaikki paitsi 'd', sitten kaksi kirjainta 'x'.

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');

Tuloksena muuttujaan kirjoitetaan seuraava:

javascript'! ! ! dxx'

Esimerkki

Mutta nyt hakumalli on: ensimmäinen merkki - on 'd' tai '^', sitten kaksi kirjainta 'x':

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');

Tuloksena muuttujaan kirjoitetaan seuraava:

javascript'axx bxx ! !'

Esimerkki

Hat-symbolia ei tarvitse siirtää ensimmäiseltä paikalta, vaan sen voi escapeta kenoviivalla, ja se tulee tarkoittamaan itseään:

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');

Tuloksena muuttujaan kirjoitetaan seuraava:

javascript'axx bxx ! !'

Käytännön tehtävät

Задание 1

Annettu merkkijono:

javascriptlet str = '^xx axx ^zz bkk @ss';

Kirjoita säännöllinen lauseke, joka löytää merkkijonot mallin mukaan: hat-symboli tai @-merkki, sitten kaksi latinalaista kirjainta.

Задание 2

Annettu merkkijono:

javascriptlet str = '^xx axx ^zz bkk @ss';

Kirjoita säännöllinen lauseke, joka löytää merkkijonot mallin mukaan: EI hat-symboli eikä @-merkki, vaan sitten kaksi latinalaista kirjainta.

Задание 3

Annettu merkkijono:

javascriptlet str = '^xx axx ^zz bkk';

Kirjoita säännöllinen lauseke, joka löytää merkkijonot mallin mukaan: ei hat-symboli eikä välilyönti, vaan sitten kaksi latinalaista kirjainta.