Скуповови карактера у регуларним изразима ЈаваСкрипта
Групе карактера \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',
а између њих - мала латинична слова
и цифре, не додирујући остала.