EURO 2016 Gruplarındaki Puan Tablosunu Öğrenelim

CEYD-A nın söyleyeceğimiz cümlelerin içinde komutu algılayabilmesi için içinde soru kelimelerinden bir veya daha fazlası geçmelidir. Soru kelimeleri komutu tespit edip yakalamak içindir. Asıl olan sonrasında Soru şablonunun söylediğiniz cümleye birebir uymasıdır.
Soru şablonundaki
.* herhangi bir ifade,
| işareti veya,
.*?  sadece bir kez herhangi bir ifade, veya hiçbir ifade olmayacak
? sadece bir kez veya hiç
anlamındadır. Bu kullanım REGEX yapısıdır. Karışık gelmesi normaldir. İşinizi kolaylaştırmak için regexpal sitesinde canlı örnekler deneyebilirsiniz.

Yani sonuçta BANA AVRUPA ŞAMPİYONASINDAKİ B GRUBU PUAN TABLOSUNU GÖSTER dediğimizde, bu şablona göre
BANA ifadesi .*
AVRUPA ŞAMPİYONASI ifadesi avrupa (kupası|şampiyonası)
NDAKİ 
ifadesi .*?
B GRUBU
ifadesi (.*? grubu)?
PUAN
ifadesi puan
TABLOSUNU GÖSTER ifadesi .*

ile örtüşecektir.

Şablondaki ( ) arasındaki alan gruptur ve parametremizi ifade eder. Cevap şablonundaki $2 ifadesi 2. kullanılan ( ) demektir. Yani (.*? grubu) gösterir.
tff.org sitesinde grupları gösteren linkte kullanılan grupId ler 37,38,39 ve 40 tır.  Cevap alanında ilk satırlarda bunları tanımlayan SET kodları görüyorsunuz.
decodefetchtagsrc komutundaki selector şu şekildedir:
div[id=ctl00_MPane_m_1339_8948_ctnr_title] + table tr:gt(0)
Selectorler CSS3 te kullanılan bir yapıdır ve sayfa içinden bilgi almak için kullanılır.
Örneğimizdeki selector, id si belirtilen div tagine gidip, aynı seviyedeki ilk table tagindeki tr leri bulur

Komutumuzun son hali şekildedir. Geliştiricilere güzel bir örnek olması dileğiyle.

SORU ŞABLONU:
.*avrupa (kupası|şampiyonası).*? (.*? grubu)?.*puan.*

SORU KELİMELERİ:
avrupa,10|kupası%,10|şampiyonası%,10|puan,10|
CEVAP ŞABLONU:

CkrtwYxWsAAqfJC[1]

Ek bilgi: Yukarıdaki REGEX ifadesinde değinmediğim  (.*? grubu)? ifadesindeki sonda bulunan ? işaretinin maksadını anlatayım. Esasında en sona ? işareti konulmayabilirdi. Doğru da çalışırdı. Ancak, grup belirtmeden AVRUPA KUPASI PUAN TABLOSU dediğinizde şablon uymayacaktı. Yani içinde grubu geçmeyen bir ifade söylerseniz o zaman bu komut şablona uymadığı için çalışmayacaktı. ? işaretinin anlamı  ister içinde  (.*? grubu) geçsin ister geçmesin demektir. Eğer AVRUPA KUPASI PUAN TABLOSU dediğinizde CEVAP ŞABLONUna göre milli takımımızın olduğu grup olan 40 (D grubu) ekrana gösterilmektedir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.