Сетови на знаци во регуларните изрази во JavaScript
Групите на знаци \d и \w не
се многу флексибилни. Дури и толку едноставна задача,
како да се најдат сите букви, но не и бројки -
не може да се реши со нив. За вакви задачи
треба да се користат квадратни загради, кои претставуваат
операција 'или'.
Квадратните загради заменуваат еден знак,
кој било од наведените внатре. На пример,
вака: /x[abc]x/ - ние велиме дека
на краевите мора да стојат букви x, а внатре
- еден знак: или 'a', или 'b',
или 'c'.
После квадратните загради може да се пишуваат оператори
за повторување. На пример, вака: /x[abc]+x/
- ние велиме дека внатре во x-овите може да има
која било количина на знаци 'a', 'b'
и 'c' - во кои било комбинации.
Може не само да се набројуваат знаци, туку да се создаваат
групи на знаци, запишувајќи помеѓу два знака
цртичка. На пример, вака: [a-d] -
ги добиваме сите знаци од 'a' до
'd'.
Ајде да погледнеме на примери.
Пример
Во овој пример шаблонот за пребарување изгледа вака:
помеѓу x-овите која било буква од 'a'
до 'z':
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
Како резултат во променливата ќе се запише следново:
'! ! ! x@x'
Пример
Во овој пример шаблонот за пребарување изгледа вака:
помеѓу x-овите која било буква од 'a'
до 'k':
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
Како резултат во променливата ќе се запише следново:
'! ! xmx x@x'
Пример
Во овој пример шаблонот за пребарување изгледа вака:
помеѓу x-овите која било буква од 'A'
до 'Z':
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
Како резултат во променливата ќе се запише следново:
'xax ! xcx x@x'
Пример
Во овој пример шаблонот за пребарување изгледа вака:
помеѓу x-овите која било цифра од 0 до 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
Како резултат во променливата ќе се запише следново:
'xax ! ! ! x@x'
Пример
Во овој пример шаблонот за пребарување изгледа вака:
помеѓу x-овите која било цифра од 3 до 7:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
Како резултат во променливата ќе се запише следново:
'xax x1x ! ! x@x'
Пример
Во овој пример шаблонот за пребарување изгледа вака:
помеѓу x-овите која било буква од 'a'
до 'z' или цифра од 1 до 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
Како резултат во променливата ќе се запише следново:
'! ! ! ! x@x'
Пример
Во овој пример шаблонот за пребарување изгледа вака:
помеѓу x-овите која било буква од 'a'
до 'z' или буква од 'A' до
'Z':
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
Како резултат во променливата ќе се запише следново:
'! ! ! x5x x@x'
Пример
Во овој пример шаблонот за пребарување изгледа вака:
помеѓу x-овите која било буква од 'a'
до 'z' или цифри 1, 2:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
Како резултат во променливата ќе се запише следново:
'! ! ! ! x3x'
Пример
Во овој пример шаблонот за пребарување изгледа вака:
помеѓу x-овите букви од 'a' до 'z'
во количество од 1 и повеќе:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
Како резултат во променливата ќе се запише следново:
'xx ! ! ! x123x xa3x'
Пример
Ајде да направиме така што количеството на букви може да биде и нула:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
Како резултат во променливата ќе се запише следново:
'! ! ! ! x123x xa3x'
Практични задачи
Дадена е низа:
let str = 'aba aea aca aza axa';
Напишете регуларен израз, кој ќе најде според следниот
шаблон: на краевите стојат букви 'a',
а помеѓу нив - буквата 'b', 'e'
или 'x'.
Дадена е низа:
let str = 'a1a a3a a7a a9a aba';
Напишете регуларен израз, кој ќе најде според следниот
шаблон: на краевите стојат букви 'a',
а помеѓу нив - цифра од 3-те до 6-те.
Дадена е низа:
let str = 'aba aea afa aha aga';
Напишете регуларен израз, кој ќе најде според следниот
шаблон: на краевите стојат букви 'a',
а помеѓу нив - буква од a до g.
Дадена е низа:
let str = 'aba aea afa aha aga';
Напишете регуларен израз, кој ќе најде според следниот
шаблон: на краевите стојат букви 'a',
а помеѓу нив - буква од a до f и од j до z.
Дадена е низа:
let str = 'aAa aea aEa aJa a3a';
Напишете регуларен израз, кој ќе најде според следниот
шаблон: на краевите стојат букви 'a',
а помеѓу нив - буква од a до f и од A до D.
Дадена е низа:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Напишете регуларен израз, кој ќе најде според следниот
шаблон: на краевите стојат букви 'a',
а помеѓу нив - мали латински букви,
без да ги допре останатите.
Дадена е низа:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Напишете регуларен израз, кој ќе најде според следниот
шаблон: на краевите стојат букви 'a',
а помеѓу нив - мали и големи латински
букви, без да ги допре останатите.
Дадена е низа:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Напишете регуларен израз, кој ќе најде според следниот
шаблон: на краевите стојат букви 'a',
а помеѓу нив - мали латински букви
и цифри, без да ги допре останатите.