⊗jsSpRENPB 132 of 294 menu

Mabano yasiyohifadhi katika Regular Expressions za JavaScript

Mabano ( ) yanatekeleza kazi mbili - kuweka herufi pamoja na kazi ya mfuko. Lakini je, tutafanyaje ikiwa tunahitaji kuweka pamoja, lakini si kuweka kwenye mfuko? Ili kutatua tatizo kama hilo, mabano maalum yasiyohifadhi (?: ) yalianzishwa - yanaweka pamoja, lakini hayaiweki kwenye mfuko.

Mfano

Katika mfano ufuatao, mabano ya kwanza yanahitajika kwa ajili ya kuweka pamoja, na ya pili - kwa mfuko. Hata hivyo, mabano yote yanaweka data kwenye mfuko:

let str = 'abab123'; let res = str.match(/(ab)+([1-9]+)/);

Matokeo yake, mifukoni yetu itakuwa na yafuatayo:

console.log(res[0]); // itatoa 'abab123' console.log(res[1]); // itatoa 'ab' console.log(res[2]); // itatoa '123'

Mfano

Wacha tufanye ili mabano ya kwanza yaweke pamoja tu, wala isiweke kwenye mfuko:

let str = 'abab123'; let res = str.match(/(?:ab)+([1-9]+)/);

Matokeo yake, kwenye mfuko wa kwanza kutakuwa na nambari yetu:

console.log(res[1]); // itatoa '123'
hyidfritsv