Інвертаванне набораў сімвалаў у рэгулярках
З дапамогай шапачкі '^'
у пачатку квадратных
дужак можна інвертаваць жаданае. Гэта значыць,
калі, напрыклад, каманда [ab]
шукае
літару 'a'
або 'b'
, то каманда
[^ab]
будзе шукаць усе сімвалы, акрамя
'a'
і 'b'
.
Прыклад
У дадзеным прыкладзе шаблон пошуку выглядае так:
літара 'x'
, затым НЕ літара 'a'
,
не 'b'
і не 'c'
, потым літара
'z'
:
let str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');
У выніку ў зменную запішацца наступнае:
'xax xbx xcx !'
Прыклад
У дадзеным прыкладзе шаблон пошуку выглядае так:
літара 'x'
, затым НЕ маленькая лацінская
літара, потым літара 'z'
:
let str = 'xaz xbz x1z xСz';
let res = str.replace(/x[^a-z]z/g, '!');
У выніку ў зменную запішацца наступнае:
'xaz xbz ! !'
Практычныя задачы
Напішыце рэгулярку, якая знойдзе радкі
па шаблоне: лічба '1'
, затым сімвал
не 'e'
і не 'x'
, лічба '2'
.
Напішыце рэгулярку, якая знойдзе радкі
па шаблоне: літара 'x'
, затым НЕ
лічба ад 2
да 7
, літара 'z'
.
Напішыце рэгулярку, якая знойдзе радкі
па шаблоне: літара 'x'
, затым НЕ
вялікая лацінская літара ад 1
і больш
раз, літара 'z'
.
Напішыце рэгулярку, якая знойдзе радкі
па шаблоне: літара 'x'
, затым НЕ
вялікая або маленькая лацінская літара і не лічба
ад 1
да 5
ад 1
і больш
раз, літара 'z'
.