⊗jsSpREGL 101 of 294 menu

Маҳдуд кардани ҳарисӣ дар регуляриҳо дар JavaScript

Ифодаҳои оддӣ ба сурати пешфарз ҳарис мебошанд. Ин маънои онро дорад, ки онҳо ҳадди аксар шумораи имконпазири аломатҳоро мегиранд. Биёед бо мисол таҳлил кунем. Фарз мекунем, ки мо чунин сатр дорем:

let str = 'aeeex zzz x kkk';

Фарз мекунем, ки мо дар ин сатр мехоҳем зерсатри 'aeeex'-ро бо истифода аз қолиби зерин ёбем: ҳарф 'a', сипас ягон аломат як ё зиёда маротиба, баъд аз он ҳарфи 'x'.

let res = str.replace(/a.+x/g, '!');

Мо интизор ҳастем, ки дар натиҷа ба тағирёбанда сатри '! zzz x kkk' сабт шавад. Аммо, ин чунин нест - ба тағирёбанда сатри '! kkk' меафтад.

Ҳамаи коре, ки регуляри мо ҳамаи аломатҳоро аз ҳарфи 'a' то ҳарфи 'x' меҷӯяд. Аммо дар сатри мо ду ҳарфи 'x' мавҷуданд! Ба сабаби ҳарисӣ чунин мешавад, ки регуляри то охирин ҳарфи 'x' меҷӯяд, ҳамзамон он чиро мегирад, ки мо интизор набуудем.

Албатта, аксар вақт чунин рафтор ба мо лозим аст. Аммо дар ин ҳолати махсус мо мехостем, ки ҳарисӣ бекор карда шавад ва ба регуляри гуфта шавад, ки то аввалин ҳарфи 'x' биҷӯяд.

Барои маҳдуд кардани ҳарисӣ, бояд баъд аз оператори такрор аломати савол гузошта шавад:

let res = str.replace(/a.+?x/g, '!');

Ҳарисӣ ба ҳама операторҳои такрор маҳдуд карда метавонад: ҳам *, ва ?, ва {} - ин тавр: *?, ?? ва {}?.

Сатр дода шудааст:

let str = 'aba accca azzza wwwwa';

Регулярие нависед, ки ҳамаи сатрҳоро ёбад, ки дар канораҳояшон ҳарфҳои 'a' истодаанд, ва ҳар яке аз онҳоро бо '!' иваз кунад. Миёни ҳарфҳои 'a' ягон аломати дигар (ғайр аз 'a') метавонад бошад.

Тоҷикӣ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан