• 18-12-2014, 18:25:54
    #1
    Üyeliği durduruldu
    Selamlar arkadaşlar

    stringim şu

    Alıntı
    00001SL-1 R/B SL-1 R/B 1957-001A CIS TYM19571004191219571201 938 214 96.2 65.1 20141218
    00002SPUTNIK 1 SPUTNIK 1 1957-001B CIS Earth Sci TYM19571004191219580103 83.6 945 227 96.1 65.0 Unknown 20141218
    00003SPUTNIK 2 SPUTNIK 2 1957-002A CIS Life Sci TYM19571103023019580414 508.3 1659 211 103.7 65.3 Unknown 20141218
    desen şu

    (^[0-9]{5})([\w+\s+\D+\d+\W+\/]{15})([\w+\s+\D+\d+\W+\/]{15})([\w+\s+\D+\d+\W+]{11})([\w+\s+\D+\d+\W+]{10})([\w+\s+\D+\d+\W+]{10})([\w+\s+\D+\d+\W+]{3})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{4})([\w+\s+\D+\d+\W+]{20})([\w+\s+\D+\d+\W+]{4})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{6})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{7})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{8})$
    rubular.com da denedim ve çalışıyor.

    aynı string için .NET'te aynı deseni yazıyorum

            Dim opt As RegexOptions = RegexOptions.IgnoreCase Or RegexOptions.Multiline Or RegexOptions.Singleline
            Dim desen As Regex = New Regex("(^[0-9]{5})([\w+\s+\D+\d+\W+\/]{15})([\w+\s+\D+\d+\W+\/]{15})([\w+\s+\D+\d+\W+]{11})([\w+\s+\D+\d+\W+]{10})([\w+\s+\D+\d+\W+]{10})([\w+\s+\D+\d+\W+]{3})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{4})([\w+\s+\D+\d+\W+]{20})([\w+\s+\D+\d+\W+]{4})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{6})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{7})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{8})$", opt)
            Dim regexresult As RegularExpressions.MatchCollection = desen.Matches(mystr)
    
     For Each matches As Match In regexresult
    
    next
    ama sonuç sayısı hep 0 dönüyor. mystr de string var.

    bir fikri olan var mı acaba? Saygılar
  • 18-12-2014, 20:34:22
    #2
    RegEx ifadesinin başına @ işareti koyup dene
    Dim desen As Regex = New Regex(@"(^[0-9]{5})([\w+\s+\D+\d+\W+\/]{15})([\w+\s+\D+\d+\W+\/]{15})([\w+\s+\D+\d+\W+]{11})([\w+\s+\D+\d+\W+]{10})([\w+\s+\D+\d+\W+]{10})([\w+\s+\D+\d+\W+]{3})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{4})([\w+\s+\D+\d+\W+]{20})([\w+\s+\D+\d+\W+]{4})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{6})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{7})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{8})$", opt)
            Dim regexresult As RegularExpressions.MatchCollection = desen.Matches(mystr)
  • 19-12-2014, 08:56:28
    #3
    Üyeliği durduruldu
    kabuscobar adlı üyeden alıntı: mesajı görüntüle
    RegEx ifadesinin başına @ işareti koyup dene
    Dim desen As Regex = New Regex(@"(^[0-9]{5})([\w+\s+\D+\d+\W+\/]{15})([\w+\s+\D+\d+\W+\/]{15})([\w+\s+\D+\d+\W+]{11})([\w+\s+\D+\d+\W+]{10})([\w+\s+\D+\d+\W+]{10})([\w+\s+\D+\d+\W+]{3})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{4})([\w+\s+\D+\d+\W+]{20})([\w+\s+\D+\d+\W+]{4})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{6})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{7})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{5})([\w+\s+\D+\d+\W+]{8})([\w+\s+\D+\d+\W+]{8})$", opt)
            Dim regexresult As RegularExpressions.MatchCollection = desen.Matches(mystr)
    teşekkürler. olmadı. başka desenler başka stringlerde başında @ işareti olmadan çalışıyor. sinir oldum.

    edit:

    sorunu buldum. sorun satır sonundaki \n karakterinden kaynaklı. düzelttim.