Мәтінді сүзгілеу

Бірнеше файлды салыстыру кезінде мәтіннің айырмашылықтары маңызды емес бөлімдері болуы мүмкін. Мысалы, кодтың өзгертілген бөлімдеріне назар аударып, түсініктеме жолдарындағы кез келген өзгерістерді ескермеуді қалауыңыз мүмкін. Мәтіндік сүзгілердің көмегімен файлдар арасындағы айырмашылықтарды көрсету кезінде Meld-ке үлгіге (яғни, тұрақты өрнекке) сәйкес келетін мәтінді ескермеуді айта аласыз.

Мәтіндік сүзгілер тек файлдарды салыстыруға ғана емес, бумаларды салыстыруға да әсер етеді. Толығырақ ақпаратты файлдарды сүзгілеу жазбаларынан қараңыз.

Мәтіндік сүзгілерді қосу және пайдалану

Мәтіндік сүзгілерді Баптаулар сұхбат терезесіндегі Мәтін сүзгілері бетінен қосуға немесе өшіруге болады. Meld сізге пайдалы болуы мүмкін бірнеше қарапайым сүзгілермен бірге келеді, бірақ сіз өзіңіздің сүзгілеріңізді де қоса аласыз.

Meld-те мәтіндік сүзгілер — салыстырылатын файлдардың мәтінімен сәйкестендірілетін тұрақты өрнектер. Сәйкес келетін кез келген мәтін салыстыру кезінде ескерілмейді; сіз бұл мәтінді салыстыру көрінісінде әлі де көресіз, бірақ ол айырмашылықтарды табу кезінде есепке алынбайды. Мәтіндік сүзгілер ретімен іске асырылады, сондықтан бірінші сүзгінің мәтінді алып тастауы екінші сүзгінің сәйкес келуіне мүмкіндік беруі мүмкін және т.б.

Егер сіз тұрақты өрнектермен таныс болмасаңыз, Python Regular Expression HOWTO құжатын қарап шығуды қалауыңыз мүмкін.

Мәтіндік сүзгілерді дұрыс реттеу

Мәтінді сүзгілеуде қателесу оңай және Meld-тің сүзгілеуді қолдауы толық емес. Атап айтқанда, мәтіндік сүзгі файлдағы жолдар санын өзгерте алмайды. Мысалы, егер бізде ішкі Script comment сүзгісі іске қосылып, келесі файлдар салыстырылса:

comment1.txt

a
b#comment
c
d

comment2.txt

a
b
c
#comment

онда b-дан басталатын жолдар бірдей болып көрсетіледі (түсініктеме алынып тасталады), бірақ d жолы оң жақтағы түсініктеме жолынан өзгеше болып көрсетіледі. Бұл оң жақтан #comment жойылғанымен, жолдың өзін алып тастау мүмкін болмағандықтан болады; Meld d жолын келесі жақтағы бос жолдан өзгеше ретінде көрсетеді.

Бос жолдар және сүзгілер

Мәтін сүзгілері бетіндегі Бос жолдарды кірістіретін немесе өшіретін өзгерістерді ескермеу баптауы арнайы түсіндіруді қажет етеді. Егер бұл арнайы сүзгі іске қосылса, тек бос жолдардан тұратын кез келген өзгеріс толығымен ескерілмейді. Бұл мәтінде нақты бос орын өзгерісі болғандықтан болуы мүмкін, бірақ белсенді мәтіндік сүзгілер өзгерістен барлық басқа мазмұнды алып тастап, тек бос жолдарды қалдырған жағдайда да туындауы мүмкін.

Бұл опцияны сүзгілердің бүтін жолдарды алып тастай алмауынан туындайтын кейбір мәселелер мен шектеулерді айналып өту үшін пайдалануға болады, бірақ ол өздігінен де пайдалы болуы мүмкін.