Set aksara dalam ungkapan nalar JavaScript
Kumpulan aksara \d dan \w tidak
sangat fleksibel. Malah tugasan mudah seperti
cari semua huruf, tetapi bukan digit -
tidak dapat diselesaikan olehnya. Untuk tugasan sedemikian,
gunakan kurungan siku, yang mewakili
operasi 'atau'.
Kurungan siku menggantikan satu aksara,
mana-mana yang disenaraikan di dalamnya. Sebagai contoh,
seperti ini: /x[abc]x/ - kita mengatakan bahawa
di tepi mesti ada huruf x, dan di dalam
- satu aksara: sama ada 'a', atau 'b',
atau 'c'.
Selepas kurungan siku, operator pengulangan
boleh ditulis. Sebagai contoh, seperti ini: /x[abc]+x/
- kita mengatakan bahawa di dalam x boleh ada
sebarang bilangan aksara 'a', 'b'
dan 'c' - dalam sebarang kombinasi.
Bukan hanya menyenaraikan aksara, tetapi juga mencipta
kumpulan aksara dengan menulis sempang antara dua aksara.
Sebagai contoh, seperti ini: [a-d] -
kita mendapat semua aksara dari 'a' hingga
'd'.
Mari lihat contohnya.
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'a'
hingga 'z':
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'! ! ! x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'a'
hingga 'k':
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'! ! xmx x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'A'
hingga 'Z':
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'xax ! xcx x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang digit dari 0 hingga 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'xax ! ! ! x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang digit dari 3 hingga 7:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'xax x1x ! ! x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'a'
hingga 'z' atau digit dari 1 hingga 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'! ! ! ! x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'a'
hingga 'z' atau huruf dari 'A' hingga
'Z':
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'! ! ! x5x x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'a'
hingga 'z' atau digit 1, 2:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'! ! ! ! x3x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x huruf dari 'a' hingga 'z'
dalam kuantiti dari 1 dan lebih:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'xx ! ! ! x123x xa3x'
Contoh
Mari buat supaya bilangan huruf boleh sifar juga:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
Hasilnya, yang berikut akan direkodkan ke dalam pembolehubah:
'! ! ! ! x123x xa3x'
Tugas praktikal
Diberi rentetan:
let str = 'aba aea aca aza axa';
Tulis ungkapan nalar yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf 'b', 'e'
atau 'x'.
Diberi rentetan:
let str = 'a1a a3a a7a a9a aba';
Tulis ungkapan nalar yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - digit dari 3 hingga 6.
Diberi rentetan:
let str = 'aba aea afa aha aga';
Tulis ungkapan nalar yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf dari a hingga g.
Diberi rentetan:
let str = 'aba aea afa aha aga';
Tulis ungkapan nalar yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf dari a hingga f dan dari j hingga z.
Diberi rentetan:
let str = 'aAa aea aEa aJa a3a';
Tulis ungkapan nalar yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf dari a hingga f dan dari A hingga D.
Diberi rentetan:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Tulis ungkapan nalar yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf Latin kecil,
tanpa menyentuh yang lain.
Diberi rentetan:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Tulis ungkapan nalar yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf Latin kecil dan besar, tanpa menyentuh yang lain.
Diberi rentetan:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Tulis ungkapan nalar yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf Latin kecil dan digit, tanpa menyentuh yang lain.