Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Capire una istruzione

  1. #1

    Capire una istruzione

    Ciao a tutti,
    chi e' cosi' gentile da spiegarmi cosa fa questa istruzione ?

    $temp =~ s/^([^ ]*)\.([^ ]*)\.([^ ]*)\.([^ ]*)/$1/;

    Grazie a tutti
    Paolo

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quella e` una regular expression (RE).
    Nel manuale di Perl c'e` un file apposito per le RE, e sono potentissime.
    Il bello e` che sono molto simili in tutti i linguaggi.

    $temp =~ s/^([^ ]*)\.([^ ]*)\.([^ ]*)\.([^ ]*)/$1/;

    s/.../.../ --> sostituisce l'espressione scritta nel primo pezzo con quella del secondo.

    [^ ] --> qualsiasi carattere escluso lo spazio
    ([...]*) --> zero o piu` ripetizioni, salva il risultato
    \. --> il carattere punto
    ^ --> all'inizio: la stringa deve inziare li`
    $1 --> il contenuto della prima parentesi nella RE


    In totale sembrerebbe che dovrebbe sostituire a tutto il contentuto della stringa, la parte prima del punto.
    Ma nella stringa ci devono essere almeno tre caratteri punto (attaccati o separati da altri caratteri, spazi esclusi)

    Dovrebbe essere equivalente a:
    $temp =~ s/^([^ ]*)\.[^ ]*\.[^ ]*\.[^ ]*/$1/;
    salvo che in questo caso non vengono salvati gli altri pezzi. In Perl i pezzi della RE tra parentesi tonde sono disponibili anche dopo, fino alla prossima RE.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Capito.
    Infatti, provandolo, ho capito che mi ritorna il primo numero di un numero ip

    thanx

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.