Kumpulan Aksara dalam Ungkapan Biasa JavaScript
Terdapat arahan khas yang membolehkan anda
memilih keseluruhan kumpulan aksara sekaligus. Arahan
\d bermaksud digit dari 0 hingga 9.
Arahan \w menandakan digit, huruf
Latin atau tanda garis bawah. Arahan \s
menandakan ruang atau aksara jarak:
ruang, baris baru, tab. Anda boleh
menyongsangkan nilai arahan dengan menulis huruf
besar: contohnya, jika \d - digit,
maka \D - bukan digit.
Contoh
Mari cari semua digit:
let str = '1 12 123';
let res = str.replace(/\d/g, '!');
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'! !! !!!'
Contoh
Pengendali ulangan menganggap arahan-kumpulan
sebagai satu keseluruhan, iaitu kurungan pengelompokan
tidak diperlukan. Dalam contoh berikut, corak carian
kelihatan seperti ini: digit dari 0 hingga 9
sekali atau lebih:
let str = '1 12 123 abc @@@';
let res = str.replace(/\d+/g, '!');
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'! ! ! abc @@@'
Contoh
Dalam contoh berikut, corak carian kelihatan
seperti ini: apa sahaja sekali atau lebih kali,
tetapi bukan digit dari 0 hingga 9:
let str = '123abc3@@';
let res = str.replace(/\D+/g, '!');
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'123!3!'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini: aksara jarak sekali:
let str = '1 12 123 abc @@@';
let res = str.replace(/\s/g, '!');
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'1!12!123!abc!@@@'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
BUKAN aksara jarak sekali atau lebih kali.
Semua subrentetan, dipisahkan oleh ruang, akan digantikan
dengan '!':
let str = '1 12 123 abc @@@';
let res = str.replace(/\S+/g, '!');
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'! ! ! ! !'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
digit atau huruf sekali atau lebih kali.
Semua subrentetan, terdiri daripada digit dan huruf,
akan digantikan dengan '!':
let str = '1 12 123a Abc @@@';
let res = str.replace(/\w+/g, '!');
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'! ! ! ! @@@'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
BUKAN digit dan BUKAN huruf sekali atau lebih kali.
Dalam kes kami, definisi ini merangkumi
'@@@' dan semua ruang (mereka juga
bukan digit dan bukan huruf). Sila ambil perhatian
bahawa pada akhirnya satu '!' - ke dalamnya
telah bertukar rentetan ' @@@' - dengan
ruang di hadapan:
let str = '1 12 123 Abc @@@';
let res = str.replace(/\W+/g, '!');
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'1!12!123!Abc!'
Tugas Praktikal
Diberi rentetan:
let str = 'a1a a2a a3a a4a a5a aba aca';
Tulis ungkapan biasa yang akan mencari rentetan,
di mana di tepinya terdapat huruf 'a',
dan di antara mereka satu digit.
Diberi rentetan:
let str = 'a1a a22a a333a a4444a a55555a aba aca';
Tulis ungkapan biasa yang akan mencari rentetan,
di mana di tepinya terdapat huruf 'a',
dan di antara mereka sebarang bilangan digit.
Diberi rentetan:
let str = 'aa a1a a22a a333a a4444a a55555a aba aca';
Tulis ungkapan biasa yang akan mencari rentetan,
di mana di tepinya terdapat huruf 'a',
dan di antara mereka sebarang bilangan digit (termasuk
sifar digit, iaitu rentetan 'aa').
Diberi rentetan:
let str = 'avb a1b a2b a3b a4b a5b abb acb';
Tulis ungkapan biasa yang akan mencari rentetan
berikut: di tepinya terdapat huruf
'a' dan 'b', dan di antara mereka - bukan
nombor dan bukan ruang.
Diberi rentetan:
let str = 'ave a#b a2b a$b a4b a5b a-b acb';
Tulis ungkapan biasa yang akan mencari rentetan
berikut: di tepinya terdapat huruf
'a' dan 'b', dan di antara mereka - bukan
huruf, bukan digit dan bukan ruang.
Diberi rentetan:
let str = 'ave a#a a2a a$a a4a a5a a-a aca';
Tulis ungkapan biasa yang akan menggantikan semua ruang
dengan '!'.