7 Ocak 2020 Salı

RegEx for Python

import re

s = "Neden, Bay Anderson neden? Neden, neden, neden? Bunu neden yapıyorsun? Niye? Ayağa kalkmak niye? Kavga etmek niye? İnandığın şeyler için kavga ettiğini mi sanıyorsun? Sağ kalmadan öte bir şeyler için mi? Bana söyleyebilir misin, biliyor musun? Özgürlük mü? Gerçek mi? Belki de barış ya da sevgi olabilir mi? Yanılsamalar Bay Anderson, algılamada aldanmalar… Herhangi bir anlama ya da amacı olmayan bir varoluşu ümitsizce haklı göstermeye uğraşan zayıf insan zekasının ürettiği geçici kuruntular ve bunların hepsi de Matrix kadar yapay. Zaten, sevgi gibi zavallı bir kavramı insan zekası icat edebilirdi. Bunu görebilirsin Bay Anderson, artık bunu anlaman gerek! Kazanamazsın! Kavga etmen boşuna! Neden, Bay Anderson neden? Niye inat ediyorsun?"

Yukarıda tanımlı s stringi için çıktılar ne olur? Regex tanımlarını yazınız? Kodu yazıp çalıştırmadan yorumlamaya çalışınız?

-1-
a = re.findall("neden|Neden|niye|Niye",s);
print(len(a))

-2-
a = re.findall(".eden|.iye",s);
print(len(a))

-3-
a = re.split("\?|\!",s);
print(a)

-4-
Boşlukları saydırarak paragrafın kaç kelimeden oluştuğunu bulunuz? (Kelime sayısı = boşluk sayısı + 1)

-5-
Türkçe karakterlerin sayısını bulan regex ifadesini yazınız?

-6-
a = re.findall("[a-zA-Z]{4}[n]",s);
print(len(a))

-7-
Kaç kere "Bay Anderson" demiştir?

-8-
ı harflerini i harfleri ile değiştiriniz

-9-
e harfi ve a harfinin kullanım sayısının farkı kaçtır?

-10-
Kaç tane "." (nokta) karakteri kullanılmıitır? Noktaları, soru işaretlerini, ünlemleri vb. sayarak paragraf içindeki cümle sayısını buldurabilir miyiz? Eğer "..." veya diğer tekrar eden karakterler varsa cümle sayısını nasıl buldurabiliriz? Regex kodlarını yazmaya çalışınız?

RegEx for Java

String s = "Neden, Bay Anderson neden? Neden, neden, neden? Bunu neden yapıyorsun? Niye? Ayağa kalkmak niye? Kavga etmek niye? İnandığın şeyler için kavga ettiğini mi sanıyorsun? Sağ kalmadan öte bir şeyler için mi? Bana söyleyebilir misin, biliyor musun? Özgürlük mü? Gerçek mi? Belki de barış ya da sevgi olabilir mi? Yanılsamalar Bay Anderson, algılamada aldanmalar… Herhangi bir anlama ya da amacı olmayan bir varoluşu ümitsizce haklı göstermeye uğraşan zayıf insan zekasının ürettiği geçici kuruntular ve bunların hepsi de Matrix kadar yapay. Zaten, sevgi gibi zavallı bir kavramı insan zekası icat edebilirdi. Bunu görebilirsin Bay Anderson, artık bunu anlaman gerek! Kazanamazsın! Kavga etmen boşuna! Neden, Bay Anderson neden? Niye inat ediyorsun?"

Tanımlanan s stringi için aşağısadaki Regex sorularını cevaplayınız? Kodları yazmadan yorumlayarak çıktıları bulmaya çalışınız?

-1-
Pattern pattern = Pattern.compile(".eden");
Matcher matcher = pattern.matcher(s);
int count = 0;
while (matcher.find()) count++;
System.out.println(count);

-2-
Pattern pattern = Pattern.compile("[?!,.]");
Matcher matcher = pattern.matcher(s);
int count = 0;
while (matcher.find()) count++;
System.out.println(count);

-3-
Türkçe karakterlerin sayısını buldurunuz?

-4-
"e" ve "a" karakterlerinin farkı kaçtır? Hesaplattırınız?

-5-
Pattern pattern = Pattern.compile("[^a-zA-Z]");
Matcher matcher = pattern.matcher(s);
int count = 0;
while (matcher.find()) count++;
System.out.println(count);

-6-
sonu "n" ile biten 5 harfli kelime sayısını bulunuz?

-7-
Boşlukları saydırarak kelime sayısını bulunuz? (Kelime sayısı = Boşluk sayısı + 1)

-8-
System.out.println(Pattern.matches("[atM]{3}[ixr]{3}", s)

-9-
s stringi içerisinde zeka kelimesi var mı? RegEx ile nasıl kontrol ederiz?

-10-
Kaç tane "." (nokta) karakteri kullanılmıitır? Noktaları, soru işaretlerini, ünlemleri vb. sayarak paragraf içindeki cümle sayısını buldurabilir miyiz? Eğer "..." veya diğer tekrar eden karakterler varsa cümle sayısını nasıl buldurabiliriz? Regex kodlarını yazmaya çalışınız?

-11-
Kaç kere "Bay Anderson" demiştir?