⊗jsSpRELAB 133 of 294 menu

Дидан аз назари мусбат ва манфӣ дар регуляриҳои JavaScript

Гоҳо ба ҳалли намуди чунин масъала ниёз дорад: сатр 'aaa'-ро ёфта ба '!' иваз намоед, аммо танҳо дар сурате, ки баъд аз 'aaa' 'x' истода бошад, ва худи 'x'-ро дар ин ҳолат иваз накунем. Агар мо кӯшиш кунем, ки масъаларо 'ба таври рост' ҳал кунем, ҳеҷ коре намешавад:

'aaax baaa'.replace(/aaax/g, '!'); // '! baaa'-ро бармегардонад, вале мо '!x baaa' мехостем

Дидан ба пеш

Барои ҳалли масъала роҳе лозим аст, ки бигӯяд, ки 'x'-ро набояд иваз кард. Ин кор бо истифодаи қафсҳои махсус (?= ) анҷом дода мешавад, ки танҳо менигаранд, вале бо худ намебаранд.

Ин қафсҳо дидани мусбат ба пеш номида мешаванд. Мусбат - зеро ки 'x' (дар ҳолати мо) бояд мавҷуд бошад - фақат он вақт иваз кардан рӯй медиҳад.

Биёед ин қафсҳоро барои ҳалли масъалаи мо истифода барем:

'aaax aaab'.replace(/aaa(?=x)/g, '!'); // '!x aaab'-ро бармегардонад

Дидани манфӣ ба пеш низ мавҷуд аст - (?! ) - он, баръакс, мегӯяд, ки чизи муайян набояд мавҷуд бошад. Дар мисоли оянда, иваз кардан фақат он вақт рӯй медиҳад, ки баъд аз 'aaa' 'x' НАистода бошад:

'aaax aaab'.replace(/aaa(?!x)/g, '!'); // 'aaax !b'-ро бармегардонад

Дидан ба қафо

Ба ҳамин монанд дидани мусбат ба қафо мавҷуд аст - (?<= ). Дар мисоли оянда иваз кардан фақат он вақт рӯй медиҳад, ки пеш аз 'aaa' 'x' истода бошад:

'xaaa'.replace(/(?<=x)aaa/g, '!'); // 'x!'-ро бармегардонад

Дидани манфӣ ба қафо низ мавҷуд аст - (?. Дар мисоли оянда иваз кардан фақат он вақт рӯй медиҳад, ки пеш аз 'aaa' 'x' истода набошад:

'baaa'.replace(/(?<!x)aaa/g, '!'); // 'b!'-ро бармегардонад

Масъалаҳои амалӣ

Сатр дода шудааст, ки номҳои функсияҳоро дар бар мегирад:

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

Аз сатр массиви номҳои функсияҳоро ба даст оред.

Сатр бо тег дода шудааст:

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

Аз ин тег массиви номҳои сифатҳоро ба даст оред.

Сатр бо тағирёбандаҳо дода шудааст:

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

Зерсатрҳоеро ба даст оред, ки пеш аз онҳо аломати доллар истода бошад.

Тоҷикӣ
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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан