Skip to main content

javada REGEX (regular expressions) örneği

public class StringMatcher {

// Gelen string "true" ise doğru döndürür
public boolean isTrue(String s) {
return s.matches("true");
}

// Gelen string "true" yada "True" ise doğru döndürür
// Çünkü ilk karakter [tT] şeklinde yazılmış. Yani küçük t veya büyük T den
// birini seçecek
public boolean isTrueVersion2(String s) {
return s.matches("[tT]rue");
}

// Gelen string "true", "True", "yes" yada "Yes" ise doğru döndürür
// | işareti ile iki seçenek sunulmuş ya sol taraf eşleşecek, ya sağ taraf
// sol taraf eşleşir ise ilk harfi ya t ya da T olmak zorunda
// eğer ikinci taraf eşleşir ise ilk harf ya y yada Y olmaz zorunda.
public boolean isTrueOrYes(String s) {
return s.matches("[tT]rue|[yY]es");
}

// Eğer gelen stringin içerisinde "true" geçiyorsa doğru döndürür. Çünkü
// "true" ifadesinden öncde . kullanılmış. Bu herhangi bir karakter demek
// noktadan sonra gelen * ile bu karakterlerden istediği kadar olabilir
// demek. Aynı yapı sonda da mevcut
public boolean containsTrue(String s) {
return s.matches(".*true.*");
}

// Eğer gelen string 3 tane küçük veya büyük harf içeriyorsa doğru döner.
// Gelen string 3 karakter olmalı ve a-z yada A-Z içermeli, başka bir
// karakter olursa false döner
// Bu yapıya alternatif şu şekilde de yazılabilir.
// return s.matches("[a-Z][a-Z][a-Z]");
public boolean isThreeLetters(String s) {
return s.matches("[a-zA-Z]{3}");

}

// Returns true if the string does not have a number at the beginning
// ^ karakteri stringin başından bahsettiğimiz anlamına geliyor. Arkasından
// [^\\d] rakam olmayacağı anlamına geliyor. Daha sonraki .* ile istediği
// kadar karakter gelebilir. Bu da demek oluyor ki bizim stringimizin
// başında bir tane rakamdan oluşan karakter bulunmayacak.
public boolean isNoNumberAtBeginning(String s) {
return s.matches("^[^\\d].*");
}

// Burada bulunan yapı [ab]|[cd] ya sol taraf ya sağ taraf seçilecek
// anlamına gelmektedir. Sol taraf seçilirse a veya b olacak, sağ taraf
// seçilirse d veya e olacak. Sonunda ise bu yapı ()* içerisine alındığı
// için bu koşulu sağlayan istediği kadar tekrar edebilir anlamına
// gelmektedir. yani "abacdacd" bu metodda true döner
public boolean isIntersection(String s) {
return s.matches("([ab]|[cd])*");
}

// Bu yapıda kalıbımız ya asd ile başlayıp devam edecek yada a ile
// başlamadan herhangi bir karakter ve arkasından d karakteri gelecek ve
// devamında 3 tane karakter gelebilir. Bu bu düzen genel parantez içinde
// olduğundan istediği kadar devam edebilir.
public boolean isSpecial(String s) {
return s.matches("(asd.*|[^a]d.{3})*");
}

// Eğer gelen sayı 300 den küçükse true döner
// İlk olarak [^0-9]* yapısı ile sayı haricinde istediği kadar karakter
// gelebilir. sonrasında [12]? ile 1 veya 2 ya olacak ya hiç olmayacak.
// Sonrasında [0-9]{1,2} yapısı ile en az bir en fazla iki rakam gelecek.
// Sonunda ise [^0-9]* yapısı ile rakam harici karakterler istediği kadar
// gelebilir.
public boolean isLessThenThreeHundret(String s) {
return s.matches("[^0-9]*[12]?[0-9]{1,2}[^0-9]*");
}
}

Comments

Popular posts from this blog

Bluetooth ile Telefonda Multiplayer MineCraft Oynama

    Bugün Google Play'deki Bluetooth Chat isimli uygulamamın yorumlarına bakarken dikkatimi çeken bir kısımdan bahsedeceğim. Bir kaç yorumda gördüğüm minecraft PE hakkındaki konuşmaları araştırınca bluetooth mesajlaşma uygulamasını kullanarak minecraft'ı multiplayer olarak oynadıklarını gördüm. Peki nasıl yapıyorlar bu işlemi ? Öncelikle burada uygulama ile bluetoothlar eşleniyor ve telefonlar oyun için hazır hale getiriliyor. Daha sonra ise yerel olarak iki telefon birbirine bağlı olduğu için uygulamaya giriş yapılarak oynanabilir. Daha detaylı bilgi için aşağıdaki video'yu izleyiniz.

Exceldeki tüm satırlara istenen sql uygulamak

Sql oluştururken sık karşılaştığım durumlardan biri verilerin excel olarak verilmesiydi. çoğunu excel üzerinden macro yazarak tüm satırlara uygulamak ile çözdüm. Sonra kendi kendime dedim ki bunu daha basit hale getiremez miyim ? Java FX kullanarak bir arayüz oluşturdum. istenen sql i template olarak yazdıktan sonra tüm satırlara uyguladıktan sonra sql olarak çıktı veren bir program yazdım. Github üzerinde açık kaynak olarak paylaştığım bu jar dosyasına buradan erişebilirsiniz. Çalışma mantığı oldukça basit istediğiniz excel dosyasını upload butonu sayesinde ekliyorsunuz. Text alana sql template 'inizi yazıyorsunuz ve convert dediğinizde sql 'iniz oluşuyor istediğiniz konuma kaydedebiliyorsunuz. Örnek ekran görüntüleri aşağıdaki gibidir.

Zimbra 8.6 Ubuntu Server Kurulumu

Gereksinimler: Ubuntu Server 14.04 - 64bit root yetkisi 25 GB Depolama 4 GB Ram Bu kurulumda kullanılacak bilgiler: Domain : gurkancak ir.com IP     : 192.168.1. 11 Mail   : mail. gurkancakir.com   1) apt-get install libgmp10 libperl5.18 unzip pax sysstat sqlite3 dnsmasq wget Gerekli paketleri yükledikten sonra DNS server'i konfigure edelim. 2) nano /etc/hostname 2. maddedeki kodu girerek içerisini silip mail. gur kancakir.com  yazıyoruz. 3)  nano /etc/hosts 3 . maddedeki komutu girerek içine  192.168.1.11 mail.gurkancakir.com mail   satırı nı girere k kaydedip çıkıyoruz. 4) nano /etc/dnsmasq.conf  komutunda ise  server=192.168.1.11 domain=gurkancakir.com mx-host=gurkancakir.com, mail.gurkancakir.com, 5 mx-host=mail.gurkancakir.com, mail.gurkancakir.com, 5 listen-address=127.0.0.1   yazıp kaydediyoruz. 5) sudo reboot diyerek yeniden başlatıyoruz.  6) wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz tar -