[Linux] Re: regular expression

---------

New Message Reply About this list Date view Thread view Subject view Author view

From: Bora Şahin (borasah@netone.com.tr)
Date: Sat 27 Jul 2002 - 16:56:32 EEST


SLmLar

> regexp kullanrarak gun/ay/yıl şeklinde girilen bir tarihin
> ab/cd/ef veya ab/cd/efgh formatında yazılıp yazılmadıgının kontrolunu
> ve buradan "cd" yani ay kısmını bir variable şeklinde nasıl alabilirim?
>
> tesekkurler
> funky
> GsuLinuX

Yıl kısmında 4 tane rakam olduğunu farz ediyorum. Yani, 1000' den sonraki
yıllar bulunur.(Biraz daha ayrıntılı ifade edebilseydiniz daha iyi olurdu)
Bu durumda regexp şu şekilde yazılabilir:

0?[1-9]|[12][0-9]|3[01]\/([2-9]|1[0-2]?)\/[0-9]{2}|[12][0-9]{3}

Tam hatırlayamıyorum ama 3. bölümdeki küme parantezlerinin escape edilmesi
gerekiyor olabilir. egrep' de edilmeli ama Perl' de edilmesi gerekiyor mu
tam hatırlayamıyorum. Eğer ediliyorsa, bu durumda 3. bölüm şu şekilde olur:

....[0-9]\{2\}|[12][0-9]\{3\}

Hangi programda yapacağınızı söylemediğiniz için değişkene aktarma olayı
hakkında kesin bir şey söylemek zor. Pek Perl bilmiyorum ama sanırım
aşağıdaki gibi yapabilirsiniz:
...
if ($satır =~ m/regexp/) {
    $var = $1;
}
...

Tabii bunu yapmanın çok daha değişik yolları olabilir.

egrep' de ise "ay" kısmı \1 ile alınabilir.

Bora Şahin
Saygılar

-----------------------------------------------------------------------
Liste üyeliğiniz ile ilgili her türlü işlem için
http://liste.linux.org.tr adresindeki web arayüzünü kullanabilirsiniz.

Listeden çıkmak için: 'linux-request@linux.org.tr' adresine,
"Konu" kısmında "unsubscribe" yazan bir e-posta gönderiniz.
-----------------------------------------------------------------------


New Message Reply About this list Date view Thread view Subject view Author view

---------

Bu arsiv hypermail 2b29 tarafindan uretilmistir.