[Linux-programlama] Re: regular expression

---------

[Linux-programlama] Re: regular expression

From: nsm <nesimiacarca_at_gmail.com>
Date: Sat, 1 Mar 2008 12:36:05 +0200
Message-ID: <174096cb0803010236n39e4725aka3249a22755f379b@mail.gmail.com>

C/C++ ve QT4 kullanıyorum
Fakat sorunu az önce hallettim ilginiz için teşekkürler.

http://www.4guysfromrolla.com/webtech/031302-1.shtml adresinde regular
expression ile formatlamanın nasıl yapılacağınıda buldum ama aşağıdaki C/C++
kodu daha kolayıma geldi.

QString modeltest::korAl(){

    QString str = " skdfjk asdfaÅŸs faskdjf askdfadsfadf asdf "
            "asdf asdfasdf sadf asdf asdfffff sadf sadfasdf [80.00 21.50
10.00 0.85] [80.00 21.50 10.00 0.85]"
   "[80.00 26.00 10.00 1.85] [80.00 28.50 10.00 0.85]"
   "[80.00 30.50 10.00 0.85] [80.00 34.50 10.00 2.85]"
   "[80.00 38.00 10.00 1.85] [80.00 41.50 10.00 2.85]"
   "[80.00 45.50 10.00 0.85] [80.00 48.50 10.00 2.85]"
   "[80.00 53.50 10.00 2.85] [80.00 56.50 10.00 0.85]"
   "[80.00 61.00 10.00 1.85] [80.00 63.50 10.00 0.85]"
   "[80.00 65.50 10.00 0.85] [80.00 67.50 10.00 0.85]"
   "[80.00 70.50 10.00 2.85] [80.00 74.50 10.00 0.85]"
   "[80.00 77.00 10.00 1.85] [80.00 80.00 10.00 1.85]"
   "[80.00 83.50 10.00 0.85] [80.00 87.50 10.00 0.85]"
   "[80.00 91.50 10.00 2.85] [80.00 95.50 10.00 0.85]"
   "[80.00 98.50 10.00 2.85] [80.00 102.50 10.00 0.85]"
   "[80.00 104.50 10.00 0.85] [80.00 107.50 10.00 2.85]"
   "[80.00 111.50 10.00 0.85] [80.00 113.50 10.00 0.85]"
   "fsdaf sdaf skadjfksjadfj sadjfksdafskdfj ";

    //str = str.simplified();

     QRegExp rx("[0-9]+\\.[0-9]+");

     QStringList msg;
     QString koordinat;
     int pos = 0;
     int n = 1,row=1;

     while ((pos = rx.indexIn(str, pos)) != -1) {

         /*if (n==4){
             koordinat += rx.cap(0) + "\n" + QVariant(row).toString() +")
";
             n=0;
             row++;
         }
         else*/
             koordinat += rx.cap(0) +" ";

         pos += rx.matchedLength();
         n++;

     }
     return koordinat;
}

01.03.2008 tarihinde Atif CEYLAN <atifceylan_at_gmail.com> yazmış:
>
> nsm wrote:
> > Pardon yanlış oldu dosya içeriği;
> >
> > % 911132111123121321132311321111111321121221312321132111132111
> > [
> > % height xpos ypos width height xpos ypos width
> > [80.00 19.50 10.00 0.85] [80.00 21.50 10.00 0.85]
> > [80.00 26.00 10.00 1.85] [80.00 28.50 10.00 0.85]
> >
> > ÅŸeklindeydi ve "^(\[\d)|(\])$" deseni ile
> >
> > [80.00 19.50 10.00 0.85] [80.00 21.50 10.00 0.85]
> > [80.00 26.00 10.00 1.85] [80.00 28.50 10.00 0.85]
> >
> > şekline çevirdim. Bu çevirlen değeri
> >
> > 80.00/19.50/10.00/0.85
> > 80.00/21.50/10.00/0.85
> > 80.00/26.00/10.00/1.85
> >
> > gibi bir formata çevirmek isiyorum regular expression ile böyle bir
> > formatlama yapılabilirmi?
> >
> > 29.02.2008 tarihinde *nsm* <nesimiacarca_at_gmail.com
>
> > <mailto:nesimiacarca_at_gmail.com>> yazmış:
>
> >
> > Herkese selam; Elimdeki bir text dosyasının içeriği şu şekilde
> >
> > [80.00 19.50 10.00 0.85] [80.00 21.50 10.00 0.85]
> > [80.00 26.00 10.00 1.85] [80.00 28.50 10.00 0.85]
> >
> > regular expression ile nasıl bir pattern yazmalıyım ki aşağıdaki
> > çıktıyı versin?
> > 80.00/19.50/10.00/0.85
> > 80.00/21.50/10.00/0.85
> > 80.00/26.00/10.00/1.85
> > ...
> > ...
> > ...
> >
> > Şimdiden teşekkürler.
> >
> > --
> > Nesimi ACARCA
>
> > www.nesimia.com <http://www.nesimia.com>
> >
> >
> >
> >
> > --
> > Nesimi ACARCA
> > www.nesimia.com <http://www.nesimia.com>
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Linux-programlama mailing list
> > Linux-programlama_at_liste.linux.org.tr
> > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >
> dil?
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>

-- 
Nesimi ACARCA
www.nesimia.com

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Sat 01 Mar 2008 - 11:56:33 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.