Cirkumflex-tecknet inuti mängder i JavaScript reguljära uttryck
Som du vet skapar cirkumflex inuti [ ]
en negation när den skrivs i början av hakparenteserna.
Det betyder att den är ett specialtecken inuti
dessa hakparenteser. För att få cirkumflex som ett tecken
måste du antingen escape:a den eller flytta den från
den första positionen.
Exempel
I följande exempel är sökmönstret:
det första tecknet är allt utom 'd',
sedan två bokstäver 'x'.
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');
Som ett resultat kommer följande att skrivas till variabeln:
'! ! ! dxx'
Exempel
Och nu är sökmönstret: det första tecknet
är 'd' eller '^', sedan två
bokstäver 'x':
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');
Som ett resultat kommer följande att skrivas till variabeln:
'axx bxx ! !'
Exempel
Du behöver inte flytta cirkumflex från den första positionen, utan kan bara escape:a den med ett omvänt snedstreck, och den kommer att representera sig själv:
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');
Som ett resultat kommer följande att skrivas till variabeln:
'axx bxx ! !'
Praktiska uppgifter
Given en sträng:
let str = '^xx axx ^zz bkk @ss';
Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: cirkumflex eller at-symbol, följt av två latinska bokstäver.
Given en sträng:
let str = '^xx axx ^zz bkk @ss';
Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: INTE cirkumflex och inte at-symbol, följt av två latinska bokstäver.
Given en sträng:
let str = '^xx axx ^zz bkk';
Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: inte cirkumflex och inte mellanslag, följt av två latinska bokstäver.