Qısqasha teoriyalıq kirisiw: Qatarǵa mas keliwshi klass java lang paketinde jaylasqan. Bul klass String


Tekstli maǵlıwmatlar menen islew. Turaqlı ańlatpalar


Download 67.59 Kb.
bet8/9
Sana28.12.2022
Hajmi67.59 Kb.
#1010629
1   2   3   4   5   6   7   8   9
Tekstli maǵlıwmatlar menen islew. Turaqlı ańlatpalar
Kirisiw
Kópshilik programmistler waqtı kelip tekstli maǵlıwmatlardı qayta islewine tuwra keledi. Olardıń arasındaǵı kópshilik ámellerge tekst arasınan izlew hám ózgertiw sıyaqlılar kiredi. Turaqlı ańlatpalarsız (regular expression qısqasha RegEx) bulardı ańsat hám qısqa kod penen ámelge asırıw múmkin emes. Sonlıqtan, turaqlı ańlatpalardı úyreniw hár bir programmist ushın áhmiyetli esaplanadı.
Turaqlı ańlatpalar – simvollar izbe-izligi bolıp, tekst arasınan qatarlardı izlew shablonı esaplanadı. Javada bul shablonlar hárdayım qatarlar, yaǵnıy String klası obyektleri esaplanadı. Biraq barlıq qatarlar turaqlı ańlatpalar bola almaydı, yaǵnıy turaqlı ańlatpalardı jazıw qaǵıydası bar bolıp, onıń sintaksisi tiyisli til specifikaciyası menen baylanıslı boladı.
Turaqlı ańlatpalardı jaratıw
Turaqlı ańlatpalardı jazıw ushın háripli hám cifrli belgiler hám turaqlı ańlatpalardı jazıwǵa arnalǵan meta belgiler qollanıladı. Máselen:
String regex= "java"; //java Qatari shabloni
String regex="\\d{3}"; //3 cifrli belgiden ibarat shablon
Javada turaqlı ańlatpalar menen islew ushın java.util.regex paketinen paydalansaq boladı. Bul paket tiykarǵı 3 klasstı óz ishine aladı:
Pattern – shablondı anıqlawshı klass;
Matcher – shablon boyınsha izlewshi klass;
PatternSyntaxException – turaqlı ańlatpanı jazıwdaǵı sintaksis qáteni kórsetedi.
Java programmada turaqlı ańlatpalar menen islew Pattern klası obyektin jaratıw menen baslanadı. Onın ushın usı klass ishindegi 2 compile statikalıq metodtıń birewin shaqırıw kerek. Birinshi metod, bir argument qabıllaydı yaǵnıy turaqlı ańlatpanı bildiriwshi qatarlı literal, al ekinshisinde tekstti shablon menen salıstırıw ushın kerek bolǵan jáne bir parametr:
public static Pattern compile (String literal)
public static Pattern compile (String literal, int flags)
flags parametriniń múmkin bolǵan mánisleri Pattern klası ishindegi statikalıq ózgeriwshiler esaplanadı.
Máselen, tekst arasında java sózi bar yamasa joqlıǵın anıqlaw kerek bolsın.
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {


public static void main(String[] args) {
Pattern pattern = Pattern.compile("java",
Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher("Welcome to java");
if(matcher.find()) {
System.out.println("bar");
}
else {
System.out.println("joq");
}
}
}
Bunda birinshi náwbette Pattern.compile() metodı arqalı shablon jaratıladı. Birinshi parametr qanday shablon izleniwin, ekinshisi salıstırıwda registrdi (úlken kishi háripler) esapqa almaw kerekligin bildiredi. matcher() metodı qatardan shablondı izlewde paydalanıladı. find() metodı qatardan shablon tabılsa true mánisin, keri jaǵdayda false mánisin qaytaradı.
compile() metodındaǵı ekinshi parameter yaǵnıy flag, izlew shártlerin kórstedi. Máselen, onıń tómendegishe túrleri bar:
Pattern.CASE_INSENSITIVE – izlew waqtında háripler registri qaralmaydı.
Pattern.LITERAL – izlew waqtında shablondaǵı arnawlı belgiler ápiwayı belgi sıpatında qaraladı.
Pattern.UNICODE_CASE – CASE_INSENSITIVE ke uqsas, biraq inglis háriplerinen basqa háripler ushında isleydi.

Download 67.59 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling