Regex Problemi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    Elimde

    "   52.   "

    şeklinde içerisinde boşluk(space) ve "sayı.",

    "52."

    şekilnde içerisinde "sayı." ve

    "dsadasda 52. dadadsa"

    gibi "karakter" "sayı." barındıran stringler var. Ben sadece "    52.   ", "52." olanları tespit etmek istiyorum. Ancak birtürlü doğru pattern'i bulamadım.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SpArK
    SpArK's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    http://stackoverflow.com/questions/10546302/find-all-pattern-indexes-in-string-in-c-sharp

    Şurdaki cevaba mütabiken

    string pattern ="52.";

    string sentence ="4552.78$$#56$$J52.K01UU";

    IList indeces =newList();

    foreach(Match match inRegex.Matches(sentence, pattern)){ indeces.Add(match.Index);
    }

    indeces'ın içinde, 2 ve 14. yerler olacak 52. nin yerini veren. Bu başlangıç olabilir, Regex.Match() olayına girmeden belki ? http://www.dotnetperls.com/regex-match
    SpArK tarafından 10/Oca/13 00:46 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    Sağolasın hacı, bende durumu şöyle kurtardım, gelen string'i öncelikle trim() ile boşluklardan arındırdım. Daha sonra da şu pattern ile işimi hallettim. 

    "^\d*\.$"
    

     


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Austen
    Austen's avatar
    Kayıt Tarihi: 13/Ağustos/2012
    Erkek

    Trim yapmana gerek yok. Sadece 50. gibi rakam ve sonunda nokta olmasını istediğin ifadeyi almak istiyorsan baştaki ^ ve sondaki $ işaretlerini kaldır. Ayrıca \d* deki * hiç sayı bulunmasa bile çalışır. Yani senin ifadende . geçen bir eşleşme bulunursa, önünde sayı olmasa bile kabul edilir.

    "\d+\."

    olarak güncellersen daha iyi olur. Buradaki "+" 1 veya daha çok rakam eşleşmesi sağlandığında çalışır.

    Austen tarafından 10/Oca/13 10:37 tarihinde düzenlenmiştir
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    (\d+) ile bulabilirsin kolayca


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
Toplam Hit: 885 Toplam Mesaj: 5