Caret-symbolet inne i sett i JavaScript regex
Som du vet, lager caret inne i [ ]
en negasjon når den skrives i starten av parentesene.
Derfor er den et spesialtegn inne i
disse parentesene. For å få caret som et symbol,
må du enten escape den eller flytte den vekk
fra første plass.
Eksempel
I følgende eksempel er søkemønsteret slik:
første symbol er alt untatt 'd',
deretter to bokstaver 'x'.
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');
Resultatet som lagres i variabelen blir som følger:
'! ! ! dxx'
Eksempel
Og nå er søkemønsteret slik: første symbol
- er 'd' eller '^', deretter to
bokstaver 'x':
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');
Resultatet som lagres i variabelen blir som følger:
'axx bxx ! !'
Eksempel
Du trenger ikke flytte caret vekk fra første plass, du kan bare escape den ved hjelp av backslash, og den vil da representere seg selv:
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');
Resultatet som lagres i variabelen blir som følger:
'axx bxx ! !'
Praktiske oppgaver
Gitt en streng:
let str = '^xx axx ^zz bkk @ss';
Skriv et regulært uttrykk som finner strenger med mønsteret: caret eller krøllalfa, og deretter to latinske bokstaver.
Gitt en streng:
let str = '^xx axx ^zz bkk @ss';
Skriv et regulært uttrykk som finner strenger med mønsteret: IKKE caret og ikke krøllalfa, men deretter to latinske bokstaver.
Gitt en streng:
let str = '^xx axx ^zz bkk';
Skriv et regulært uttrykk som finner strenger med mønsteret: ikke caret og ikke mellomrom, men deretter to latinske bokstaver.