⊗jsSpRELAB 133 of 294 menu

JavaScript regular ifadelerinde pozitiv we negativ gözegçilik

Käwagt şuňa meňzeş meseläni çözmek gerek: setiri 'aaa' tapmaly we ony '!' bilen çalşyrmaly, emma diňe 'aaa'-dan soň 'x' bolsa, özi bolsa 'x' çalşyrylmaly däl. Eger meseläni 'göni görnüşde' çözmäge synanyşsak, netije alarys:

'aaax baaa'.replace(/aaax/g, '!'); // '! baaa' gaýtarar, emma biz '!x baaa' isleýärdik

Öňe gözegçilik

Mesele çözmek üçin, bizä 'x'-i çalşyrmaly däl diýip aýtmaly usul gerek. Bu ýörite köşeli aýlawlar bilen edilýär (?= ), olar diňe göz yetirýär, emma özleri bilen alyp gitmeýär.

Bu aýlawlar pozitiv öňe gözegçilik diýilýär. Pozitiv - sebäbi 'x' (biziň ýagdaýymyzda) bolmaly - diňe şonda çalşyrylmak amala aşyr.

Geliň, bu aýlawlary biziň meselämizi çözmek üçin ulanaly:

'aaax aaab'.replace(/aaa(?=x)/g, '!'); // '!x aaab' gaýtarar

Negativ öňe gözegçilik hem bar - (?! ) - ol, tersine, bir zadyň bolmaly däl diýýär. Aşakdaky mysalda, çalşyrylmak diňe 'aaa'-dan soň 'x' bolmadyk ýagdaýynda amala aşar:

'aaax aaab'.replace(/aaa(?!x)/g, '!'); // 'aaax !b' gaýtarar

Yza gözegçilik

Şuňa meňzeş, pozitiv yza gözegçilik bar - (?<= ). Aşakdaky mysalda çalşyrylmak diňe 'aaa'-dan öň 'x' bolsa amala aşar:

'xaaa'.replace(/(?<=x)aaa/g, '!'); // 'x!' gaýtarar

Hem-de negativ yza gözegçilik bar - (?<! ). Aşakdaky mysalda çalşyrylmak diňe 'aaa'-dan öň 'x' bolmadyk ýagdaýynda amala aşar:

'baaa'.replace(/(?<!x)aaa/g, '!'); // 'b!' gaýtarar

Amaly meseläler

Funksiýa atlaryny öz içine alýan setir berlen:

let str = 'func1() func2() func3()';

Setirden funksiýa atlarynyň sanawyny alyň.

Tag bilen setir berlen:

let str = '<a href="" class="eee" id="zzz">';

Bu tag-yň atribut atlarynyň sanawyny alyň.

Üýtgeýänleri bilen setir berlen:

let str = '$aaa $bbb $ccc xxxx';

Öňünde dollaryň nyşany duran kiçi setirleri alyň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et