[]
regex c#
kullanıcıdan bi input aldıktan sonra bunun karakterlerden oluşan bi string mi sayı mı yoksa ikisi de değil mi şeklinde bi kontrol yapmam lazım regular expression'ı kullanarak .net'te. "ee3" gibi bi input'un ne sayı ne de string olmadığını belirtmem lazım mesela. input "ee"se string, 33'se sayı gibi bişey döndürmeliyim. döndürmekten ziyade işte bunların kontrolu nasıl oluyor?
Sadece regex'leri sorduğunu farz ederek:
/\d+/ ile match ediyor mu onu kontrol et, ediyorsa integer'dır. yok ben double/float'u da istiyorum diyorsan /\d+(.\d+)?/ 123.456'yı da match eder integerların yanında. eğer .123'ü de kabul etsin diyorsan ilk + yerine * gelebilir.
/[A-Za-z]+/ ile kontrol edersen de sadece alfabetik karakterlerden oluşan şeyler true döner.
/\d+/ ile match ediyor mu onu kontrol et, ediyorsa integer'dır. yok ben double/float'u da istiyorum diyorsan /\d+(.\d+)?/ 123.456'yı da match eder integerların yanında. eğer .123'ü de kabul etsin diyorsan ilk + yerine * gelebilir.
/[A-Za-z]+/ ile kontrol edersen de sadece alfabetik karakterlerden oluşan şeyler true döner.
- simendiferlerin efendisi (05.05.09 23:43:04)
"[A-Za-z]+" bu kontrolde de soruda dediğim gibi mesela ee3'ü de karakterlerden oluşan bir string olarak kabul ediyor. öyle de tabi. ama ben içinde böyle sayı oldu mu mesela hani bu kelime değl gibi bir hata vermek istiyorum. ama bu kontrolde sayıları da kabul ediyor. ötekisinde de mesela double, float filan ayırmayacağım ama sadece sayılardan oluşması lazım. d+ yapınca olmuyor o.
- tepedeki psychedelic adam (06.05.09 00:11:28 ~ 00:11:47)
evet haklısın, dikkatsizlik yaptım tabi: /^[A-Z][a-z]$/ yapınca sadece ve sadece alfabetik karakterleri kabul ediyor. /^\d+$/ yapınca da sadece ve sadece rakamlardan oluşanları kabul ediyor. perl'de denedim ayrıca şimdi sorun olmaması lazım.
- simendiferlerin efendisi (06.05.09 02:11:57)
dilden kaynaklanan bi farklılık mı bilmiyorum ama sayı için yazdığın direk çalıştı da alfabetik karakterler için ufak bi değişiklik gerekti. şöyle yapınca o da oldu, hatta ikisi de tam olarak şöyle kullanılıyor c#'ta:
@"^[A-Za-z]+$"
@"^\d+$"
teşekkür ederim.
ayrıca şimdi perl lafını duyunca sorıyım. onunla alakalı olarak bi ara scheme kullanmıştım. onun bi ortamı vardı dr.scheme. onu indirip orda yazıyordum kodu. perl için de öyle bişey var mı? nerede yazılıyor kod?
@"^[A-Za-z]+$"
@"^\d+$"
teşekkür ederim.
ayrıca şimdi perl lafını duyunca sorıyım. onunla alakalı olarak bi ara scheme kullanmıştım. onun bi ortamı vardı dr.scheme. onu indirip orda yazıyordum kodu. perl için de öyle bişey var mı? nerede yazılıyor kod?
- tepedeki psychedelic adam (06.05.09 02:44:58 ~ 02:50:55)
haha komik yazmışım zaten. gece 2'de yazınca öyle oluyor sanırım. senin yazmak istediğini yazıp denediydim ben zaten, ki ilk cevabımda da öyle kullanmışım [] kısmını.
ben linux'ta denediydim ama windows için soruyorsun sanırım dr. scheme'den bahsettiğine göre. windows'ta kullandığım activeperl vardı, command line'dan çalışıyor. www.activestate.com 'dan bakabilirsin. belki gui'li bir şeyler de vardır internetten aratırsan.
ben linux'ta denediydim ama windows için soruyorsun sanırım dr. scheme'den bahsettiğine göre. windows'ta kullandığım activeperl vardı, command line'dan çalışıyor. www.activestate.com 'dan bakabilirsin. belki gui'li bir şeyler de vardır internetten aratırsan.
- simendiferlerin efendisi (06.05.09 03:42:59)
/^\d+/ digit icin
/^\w+/ word icin
/^\w+/ word icin
- fdegir (06.05.09 12:11:52)
1