Znak daszka wewnątrz zbiorów w wyrażeniach regularnych JavaScript
Jak wiesz, daszek wewnątrz [ ] tworzy
negację, gdy jest napisany na początku nawiasów.
Oznacza to, że jest symbolem specjalnym wewnątrz
tych nawiasów. Aby uzyskać daszek jako symbol,
trzeba go albo wyescapować, albo usunąć z
pierwszej pozycji.
Przykład
W następującym przykładzie wzorzec wyszukiwania jest taki:
pierwszy znak to wszystko oprócz 'd',
potem dwie litery 'x'.
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');
W rezultacie do zmiennej zostanie zapisane następujące:
'! ! ! dxx'
Przykład
A teraz wzorzec wyszukiwania jest taki: pierwszy znak
- to 'd' lub '^', potem dwie
litery 'x':
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');
W rezultacie do zmiennej zostanie zapisane następujące:
'axx bxx ! !'
Przykład
Można nie usuwać daszka z pierwszej pozycji, a po prostu wyescapować go za pomocą ukośnika odwrotnego, a wtedy będzie oznaczał siebie samego:
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');
W rezultacie do zmiennej zostanie zapisane następujące:
'axx bxx ! !'
Zadania praktyczne
Dany jest ciąg:
let str = '^xx axx ^zz bkk @ss';
Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: daszek lub małpa, a następnie dwie litery łacińskie.
Dany jest ciąg:
let str = '^xx axx ^zz bkk @ss';
Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: NIE daszek i nie małpa, a następnie dwie litery łacińskie.
Dany jest ciąg:
let str = '^xx axx ^zz bkk';
Napisz wyrażenie regularne, które znajdzie ciągi według wzorca: nie daszek i nie spacja, a następnie dwie litery łacińskie.