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'.
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');
Tuloksena muuttujaan kirjoitetaan seuraava:
'! ! ! dxx'
Esimerkki
Mutta nyt hakumalli on: ensimmäinen merkki
- on 'd' tai '^', sitten
kaksi kirjainta 'x':
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');
Tuloksena muuttujaan kirjoitetaan seuraava:
'axx bxx ! !'
Esimerkki
Hat-symbolia ei tarvitse siirtää ensimmäiseltä paikalta, vaan sen voi escapeta kenoviivalla, ja se tulee tarkoittamaan itseään:
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');
Tuloksena muuttujaan kirjoitetaan seuraava:
'axx bxx ! !'
Käytännön tehtävät
Annettu merkkijono:
let 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.
Annettu merkkijono:
let 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.
Annettu merkkijono:
let 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.