darsga qaytish

Dasturlash tillarini topish

Ko’plab dasturlash tillari mavjud, masalan Java, JavaScript, PHP, C, C++.

Ularni Java JavaScript PHP C++ C satrida topadigan regexp yarating:

let regexp = /sizning regexpingiz/g;

alert("Java JavaScript PHP C++ C".match(regexp)); // Java JavaScript PHP C++ C

Birinchi g’oya tillarni o’rtalarida | bilan ro’yxatlash bo’lishi mumkin.

Ammo bu to’g’ri ishlamaydi:

let regexp = /Java|JavaScript|PHP|C|C\+\+/g;

let str = "Java, JavaScript, PHP, C, C++";

alert(str.match(regexp)); // Java,Java,PHP,C,C

Muntazam ifoda dvigateli alternativlarni birin-ketin qidiradi. Ya’ni: avval Java bor-yo’qligini tekshiradi, aks holda – JavaScript ni qidiradi va hokazo.

Natijada, JavaScript hech qachon topila olmaydi, chunki Java birinchi bo’lib tekshiriladi.

C va C++ bilan ham xuddi shunday.

Bu muammo uchun ikkita yechim bor:

  1. Uzunroq moslikni birinchi tekshirish uchun tartibni o’zgartirish: JavaScript|Java|C\+\+|C|PHP.
  2. Bir xil boshlanish bilan variantlarni birlashtirish: Java(Script)?|C(\+\+)?|PHP.

Amalda:

let regexp = /Java(Script)?|C(\+\+)?|PHP/g;

let str = "Java, JavaScript, PHP, C, C++";

alert(str.match(regexp)); // Java,JavaScript,PHP,C,C++