Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [REGEX]Come far andare il controllo di una regexe oltre il primo risultato???[REGEX]

    Ciao ho una regex che durante il suo controllo non deve fermarsi al primo risulato che fa match.
    es:
    la regex cerca il nome laura.
    laura va a spasso con il suo cane di nome laura.
    la regex trovera la prima e basta.Alla seconda non ci arriva prp
    come fare?

  2. #2
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    regexp in che linguaggio?
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  3. #3
    il linguaggio e perl.
    vi speigo meglio la situazione:
    Io ho un codice html di una pagina.
    a me mi servono i dati inseriti in questa pagina.
    es:
    html=
    <span>Dato 1</span>
    <span>Dato 2</span>
    <span>Dato 3</span>

    ora a me serve prendere Dato 1 , Dato2 , Dato3.
    Se io metto 3 if cosi

    codice:
    if($html= m/<span>+/){
    if($'= m/<\/span>+/){
    $result1="`";
    }
    }
    if($html= m/<span>+/){
    if($'= m/<\/span>+/){
    $result2="`";
    }
    }
    if($html= m/<span>+/){
    if($'= m/<\/span>+/){
    $result3="`";
    }
    }
    tutte e 3 le match si risolvono pero ogni if si fermera al primo <span> e basta.
    come far cercare piu volte?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Il linguaggio va indicato nel titolo (RegEx non è propriamente un "linguaggio di programmazione", mentre lo è PERL). Inoltre, il codice va postato utilizzando i tag CODE (vedi Regolamento, punto 6, per i dettagli).

    Oltretutto, PERL ha un forum dedicato: CGI e Perl.

    Correggo il post con il codice, aggiungo il linguaggio nel titolo e sposto nel forum giusto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    Guarda "Global matching" su http://perldoc.perl.org/perlretut.html
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  6. #6
    ok provo
    pero a me e un ciclo di if se vuoi ti posto il codice?

  7. #7
    codice:
    		if($stringa=~ m/<div\sclass="red"+\s+style="padding-top:+\s10px;">/)
    		{
    			if($'=~ m/<\/div>+/)
    			{
    				if($`=~ m/testo+\s+di+\s+prova+/)
    				{
    					$a_s="$` Angolo di strada\n";
    					print $a_s;
    				}
    			}
    		}
    in poche parole a me serve quello che sta dopo di <div\sclass="red"+\s+style="padding-top:+\s10px;">/
    ma prima di Testo prova ed e un numero.
    mettiamo che la stringa e :
    codice:
    <div class="red" style="padding-top: 10px;">hai 3385 che scrivere(non mi serve)</div><div class="red" style="padding-top: 10px;">hai 3385 testo di prova</div>
    a me serve 3385.
    Pero fai conto che ci sono tante di questi codici con "testo di prova" diverso.
    visto che l'if all'inizio e piu generale riguarda anche la seconda a me serve che controlli in tutta la stringa e provi con tutti irisultati trovati a passare il secondo e terzo if...
    capito?
    spero di si io e l'italiano facciamo fatica a convivere.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.