ბრძანება 'ან' რეგულარულ გამოსახულებებში JavaScript-ში

ამ გაკვეთილში ჩვენ გავაანალიზებთ ბრძანებას '|', რომელიც წარმოადგენს უფრო ძლიერ ვარიანტს 'ან'-ის შედარებით ბრძანებასთან [ ]. ეს ბრძანება საშუალებას იძლევა რეგულარული გამოსახულება დაიყოს რამდენიმე ნაწილად. ამ შემთხვევაში, საძიებელი შეიძლება მოერგოს ან ერთ ნაწილს, ან მეორეს. მოდით შევხედოთ მაგალითებს.

მაგალითი

ამ მაგალითში ძიების ნიმუში ასეთია: სამი ასო 'a' ან სამი ასო 'b':

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

შედეგად, ცვლადში ჩაიწერება შემდეგი:

javascript'! ! abb'

მაგალითი

ამ მაგალითში ძიების ნიმუში ასეთია: სამი ასო 'a' ან 1-დან და მეტი ასო 'b':

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

შედეგად, ცვლადში ჩაიწერება შემდეგი:

javascript'! ! ! ! axx'

მაგალითი

ამ მაგალითში ძიების ნიმუში ასეთია: ⁅r⁠⁆ერთი ან მეტი ასო ან სამი ციფრი:

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

შედეგად, ცვლადში ჩაიწერება შემდეგი:

javascript'! ! ! 1 12 !'

მაგალითი

ვერტიკალური ხაზი შეუძლია რეგულარული გამოსახულება გაყოს არა ორ ნაწილად, არამედ ნებისმიერი რაოდენობის ნაწილად:

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

შედეგად, ცვლადში ჩაიწერება შემდეგი:

javascript'! ! ! ddd'

მაგალითი

თუ ვერტიკალური ხაზი მოთავსებულია მრგვალ ფრჩხილებში, მაშინ 'ან' მოქმედებს მხოლოდ ამ ფრჩხილების ფარგლებში.

მაგალითისთვის მოდით ვიპოვოთ სტრიქონები შემდეგი ნიმუშის მიხედვით: თავში стоит ან 'a', ან 'b' ერთხელ ან მეტჯერ, და შემდეგ ორი ასო 'x':

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

შედეგად, ცვლადში ჩაიწერება შემდეგი:

javascript'! ! ! exx'

პრაქტიკული ამოცანები

Задание 1

მოცემულია სტრიქონი:

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

დაწერეთ რეგულარული გამოსახულება, რომელიც იპოვის სტრიქონებს ნიმუშის მიხედვით: კიდეებზე стоят ასოები 'a', ხოლო მათ შორის - ან ასო 'e' ნებისმიერი რაოდენობა ან ასო 'x' ნებისმიერი რაოდენობა.

Задание 2

მოცემულია სტრიქონი:

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

დაწერეთ რეგულარული გამოსახულება, რომელიც იპოვის სტრიქონებს ნიმუშის მიხედვით: კიდეებზე стоят ასოები 'a', ხოლო მათ შორის - ან ასო 'e' ორჯერ ან ასო 'x' ნებისმიერი რაოდენობა.