JavaScript Düzenli İfadelerde Karakter Grupları
Bir seferde tüm karakter gruplarını seçmeye izin veren
özel komutlar vardır. \d komutu, 0 ile 9
arasında bir rakam anlamına gelir. \w komutu bir rakamı,
Latin harfini veya alt çizgi işaretini belirtir. \s
komutu bir boşluk veya boşluk karakterini belirtir:
boşluk, satır sonu, sekme. Komutun anlamını büyük harf
yazarak tersine çevirebilirsiniz: örneğin, \d bir rakam ise,
\D rakam olmayan anlamına gelir.
Örnek
Tüm rakamları bulalım:
let str = '1 12 123';
let res = str.replace(/\d/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'! !! !!!'
Örnek
Tekrar operatörleri, komut gruplarını bir bütün olarak
kabul eder, yani gruplandırma parantezlerine gerek yoktur.
Aşağıdaki örnekte arama şablonu şu şekildedir: 0 ile
9 arasında bir rakam bir veya daha fazla kez:
let str = '1 12 123 abc @@@';
let res = str.replace(/\d+/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'! ! ! abc @@@'
Örnek
Aşağıdaki örnekte arama şablonu şu şekildedir:
bir veya daha fazla kez herhangi bir şey,
ancak 0 ile 9 arasında bir rakam değil:
let str = '123abc3@@';
let res = str.replace(/\D+/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'123!3!'
Örnek
Bu örnekte arama şablonu şu şekildedir: bir kez boşluk karakteri:
let str = '1 12 123 abc @@@';
let res = str.replace(/\s/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'1!12!123!abc!@@@'
Örnek
Bu örnekte arama şablonu şu şekildedir:
boşluk karakteri OLMAYAN bir veya daha fazla kez.
Boşluklarla ayrılmış tüm alt dizeler '!' ile
değiştirilecektir:
let str = '1 12 123 abc @@@';
let res = str.replace(/\S+/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'! ! ! ! !'
Örnek
Bu örnekte arama şablonu şu şekildedir:
bir veya daha fazla kez rakam veya harf.
Rakam ve harflerden oluşan tüm alt dizeler
'!' ile değiştirilecektir:
let str = '1 12 123a Abc @@@';
let res = str.replace(/\w+/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'! ! ! ! @@@'
Örnek
Bu örnekte arama şablonu şu şekildedir:
rakam OLMAYAN ve harf OLMAYAN bir veya daha fazla kez.
Bizim durumumuzda bu tanıma '@@@' ve tüm boşluklar
(onlar da rakam veya harf olmadığı için) girer. Sonunda
bir tane '!' olduğuna dikkat edin - bu,
' @@@' dizesinin (önünde boşlukla) dönüştürüldüğü
'!' işaretidir:
let str = '1 12 123 Abc @@@';
let res = str.replace(/\W+/g, '!');
Sonuç olarak değişkene aşağıdaki yazılacaktır:
'1!12!123!Abc!'
Pratik Görevler
Bir dize verildi:
let str = 'a1a a2a a3a a4a a5a aba aca';
Kenarlarında 'a' harfleri olan ve
aralarında bir rakam bulunan dizeleri bulan
bir düzenli ifade yazın.
Bir dize verildi:
let str = 'a1a a22a a333a a4444a a55555a aba aca';
Kenarlarında 'a' harfleri olan ve
aralarında herhangi bir miktarda rakam bulunan
dizeleri bulan bir düzenli ifade yazın.
Bir dize verildi:
let str = 'aa a1a a22a a333a a4444a a55555a aba aca';
Kenarlarında 'a' harfleri olan ve
aralarında herhangi bir miktarda rakam (sıfır rakam
dahil, yani 'aa' dizesi) bulunan
dizeleri bulan bir düzenli ifade yazın.
Bir dize verildi:
let str = 'avb a1b a2b a3b a4b a5b abb acb';
Aşağıdaki türde dizeleri bulan bir düzenli ifade yazın:
Kenarlarında 'a' ve 'b' harfleri
olan ve aralarında - rakam veya boşluk OLMAYAN.
Bir dize verildi:
let str = 'ave a#b a2b a$b a4b a5b a-b acb';
Aşağıdaki türde dizeleri bulan bir düzenli ifade yazın:
Kenarlarında 'a' ve 'b' harfleri
olan ve aralarında - harf, rakam veya boşluk OLMAYAN.
Bir dize verildi:
let str = 'ave a#a a2a a$a a4a a5a a-a aca';
Tüm boşlukları '!' ile değiştiren bir
düzenli ifade yazın.