Perintah 'atau' dalam Ungkapan Biasa JavaScript

Dalam pelajaran ini, kita akan menganalisis perintah '|', yang mewakili varian 'atau' yang lebih berkuasa berbanding dengan perintah [ ]. Perintah ini membolehkan membahagikan ungkapan biasa kepada beberapa bahagian. Pada masa yang sama, yang dicari boleh sama ada jatuh di bawah satu bahagian ungkapan biasa, atau di bawah yang lain. Mari kita lihat pada contoh.

Contoh

Dalam contoh ini, corak carian adalah seperti berikut: tiga huruf 'a' atau tiga huruf 'b':

javascriptlet str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

javascript'! ! abb'

Contoh

Dalam contoh ini, corak carian adalah seperti berikut: tiga huruf 'a' atau dari 1 dan lebih huruf 'b':

javascriptlet str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

javascript'! ! ! ! axx'

Contoh

Dalam contoh ini, corak carian adalah seperti berikut: satu atau lebih huruf atau tiga digit:

javascriptlet str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

javascript'! ! ! 1 12 !'

Contoh

Palang menegak boleh membahagikan ungkapan biasa bukan kepada dua bahagian, tetapi kepada sebarang bilangan bahagian:

javascriptlet str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

javascript'! ! ! ddd'

Contoh

Jika palang menegak berada di dalam kurungan bulat, maka 'atau' berfungsi hanya di dalam kurungan tersebut.

Sebagai contoh, mari cari rentetan mengikut corak berikut: pada awalnya berdiri sama ada 'a', atau 'b' satu atau lebih kali, dan kemudian dua huruf 'x':

javascriptlet str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

javascript'! ! ! exx'

Tugas Praktikal

Задание 1

Diberikan rentetan:

javascriptlet str = 'aeeea aeea aea axa axxa axxxa';

Tulis ungkapan biasa yang akan mencari rentetan mengikut corak: di tepi berdiri huruf 'a', dan di antaranya - sama ada huruf 'e' sebarang bilangan kali atau huruf 'x' sebarang bilangan kali.

Задание 2

Diberikan rentetan:

javascriptlet str = 'aeeea aeea aea axa axxa axxxa';

Tulis ungkapan biasa yang akan mencari rentetan mengikut corak: di tepi berdiri huruf 'a', dan di antaranya - sama ada huruf 'e' dua kali atau huruf 'x' sebarang bilangan kali.