Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    ricavare i dati con espressioni regolari

    Ragazzi ho una lista di testo infinita e devo tirarmi fuori tutti i numeri con le espressioni regolari ma che operatore devo usare? l'espressione l'ho già fatta.

    ^[0-9]?{,4}\.[0-9]{2}

    però non so che operatore usare per tirarmi fuori i dati che rispettano questa espressione.
    grazie

  2. #2
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    cerca su php.net "regular expression"
    Maddalena... Perché proprio Iacchetti!...

  3. #3
    ho già cercato ma non riesco a capire come estrarre solo quello che rispetta l'espressione.
    Riesco a modificare delle parti di testo, sostituire, togliere ma non ad estrarre solo quello che voglio.

    io da questa pagina devo estrarre solo i numeri e poi deve darmi come risultato il più basso. Ma non so da dove partire.

    http://www.vacanzeviaggi.net/agenti/...op_massimo.php

  4. #4
    allora scrivendo così non mi dovrebbe trovare tutti i numero dallo 0 al 9 che abbiamo qualsiasi cosa prima o dopo.

    $pattern="^([.]+)([1-9])([.]+)$";
    $replace="$2";
    $stringa=$dati["offerte"];
    echo preg_replace($pattern,$replace,$stringa)

  5. #5
    hei ragazzi nessuno che ha un pò di pratica e mi dice dove sbaglio.

    Deve prendere tutti i numeri da 1 a 4 cifre seguiti da una virgola e da due decimali.
    vi ripropongo cosa ho fatto io ma non mi fa vedere nulla.
    Nessuno che mi da una dritta su dove sbaglio?

    $pattern="^([.]+)(([1-9]){,4},[0-9]{2})([.]+)$";
    $replace="$2";
    $stringa=$dati["offerte"];
    echo preg_replace($pattern,$replace,$stringa)

  6. #6

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    devi usare preg_match_all:

    codice:
    $stringa="56ciao123dada34caca43";
    preg_match_all("/[0-9]{2,}/",$stringa,$ris);
    print_r($ris); //Array ( [0] => Array ( [0] => 56 [1] => 123 [2] => 34 [3] => 43 ) )
    think simple think ringo

  8. #8
    scusa ma il tuo esempio non funziona, quindi non riesco a capire cosa fa.


  9. #9
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da massimo80
    scusa ma il tuo esempio non funziona, quindi non riesco a capire cosa fa.

    codice:
    <pre><?
    $a = "ab12342bc44442cde3321432567d446786876";
    preg_match_all("|[0-9]{1,}|iu", $a, $array);
    print_r($array);
    ?></pre>
    Ti stampa a video i numeri che ha trovato

  10. #10
    ok l'ho modificato così:
    codice:
    <pre><?
    $a = $dati["offerte"];
    preg_match_all("|[0-9]{1,}\.[0-9]{1,}|iu", $a, $array);
    print_r($array);
    ?></pre>
    il risultato è:
    codice:
    Array
    (
        [0] => Array
            (
                [0] => 61.29
                [1] => 61.29
                [2] => 61.29
                [3] => 61.29
                [4] => 68.79
                [5] => 68.79
                [6] => 68.79
                [7] => 68.79
                [8] => 68.79
                [9] => 68.79
                [10] => 68.79
                [11] => 68.79
                [12] => 186.29
                [13] => 151.29
                [14] => 88.79
                [15] => 88.79
                [16] => 88.79
                [17] => 88.79
                [18] => 88.79
                [19] => 88.79
                [20] => 88.79
                [21] => 88.79
                [22] => 88.79
                [23] => 88.79
                [24] => 88.79
                [25] => 68.79
                [26] => 68.79
                [27] => 68.79
                [28] => 68.79
                [29] => 68.79
            )
    
    )
    ma io devo prendere il numero più basso tra tutti questi.
    Come diavolo si fa.
    Un'altra cosa, perchè nell'espr. reg. hai messo il pipe all'inizio e alla fine. Non vuol dire OR?
    Mi sono scaricato un pò di guide, pensavo di aver capito tutto e invece non ho caito una mazza, visto che non riesco a capire perchè hai messo i pipe.
    Inoltre ho cercato cosa significa iu e non ho trovato nemmeno quello.
    Non è che hai qualche guida on-line da consigliarmi dove c'è scritto tutto ( o quasi ) sulle espressioni regolari.

    ciao e grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.