Hat-tegnet inde i sæt i regulære udtryk i JavaScript
Som du ved, laver hat-tegnet inde i [ ]
en negation, når det skrives i starten af parenteserne.
Det betyder, at det er et specialtegn inde i
disse parenteser. For at få hat-tegnet som et symbol,
skal man enten escape det eller fjerne det fra
første plads.
Eksempel
I det følgende eksempel er søgemønsteret sådan:
det første tegn er alt undtagen 'd',
derefter to bogstaver 'x'.
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');
Som resultat bliver følgende skrevet til variablen:
'! ! ! dxx'
Eksempel
Men nu er søgemønsteret sådan: det første tegn
- er 'd' eller '^', derefter to
bogstaver 'x':
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');
Som resultat bliver følgende skrevet til variablen:
'axx bxx ! !'
Eksempel
Man behøver ikke at fjerne hat-tegnet fra første plads, man kan bare escape det med en omvendt skråstreg, og så vil det betyde sig selv:
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');
Som resultat bliver følgende skrevet til variablen:
'axx bxx ! !'
Praktiske opgaver
Givet en streng:
let str = '^xx axx ^zz bkk @ss';
Skriv et regulært udtryk, der finder strenge efter mønsteret: hat eller at-tegn, og derefter to latinske bogstaver.
Givet en streng:
let str = '^xx axx ^zz bkk @ss';
Skriv et regulært udtryk, der finder strenge efter mønsteret: IKKE hat og ikke at-tegn, men derefter to latinske bogstaver.
Givet en streng:
let str = '^xx axx ^zz bkk';
Skriv et regulært udtryk, der finder strenge efter mønsteret: ikke hat og ikke mellemrum, men derefter to latinske bogstaver.