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

    espressione regolare per trovare un file

    Ciao a tutti
    potete darmi una mano a risolvere questo problema?
    all'interno di una cartella devo individuare dei file che iniziano per 'o_' seguito da 32 caratteri alfanumerici e la sua estensione è '.xml'
    es : o_1337626d24106fc9ecd7638879ec5e16.xml

    nn riesco a generare l'espressione regolare più adeguata per ritrovare questi file.
    grazie a chi mi aiuterà
    ciao

  2. #2

  3. #3
    nn ho molta dimestichezza...ho provato 'o_{32}$' ma non ha avuto successo...in java dovrebbe funzionare cosi...datemi na mano x favore ne va del mio esame...

  4. #4
    Affrontare un esame con questo tipo di lacune ...

    Codice PHP:
    <pre>
    <?php 
    $string 
    '  o_1337626d24106fc9ecd7638879ec5e16.xml  ';

    $pattern '#o_[A-Z0-9]{32}\\.xml#i';
    if (
    preg_match($pattern$string$matches)) {
        
    print_r($matches);
    }
    ?>
    </pre>

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    110
    Ti conviene studiare meglio allora.


    '^o_[A-Za-z0-9]{32}\.xml$'

  6. #6
    gli ho aggiunto [a-z] visto che dv comprendere anche le lettere minuscole...
    ho fatto

    if (file_exists('#o_[A-Z0-9a-z]{32}\.xml#i')) unlink('#o_[A-Z0-9a-z]{32}\.xml#i')

    ma purtroppo nn funge...uso la cartella corrente quindi nn ho bisogno di mettere il percorso..

  7. #7
    Sei davvero sicuro di voler affrontare l'esame?

    Hai delle lacune di base che l'esaminatore difficilmente non noterà.

    Non puoi usare un'espressione regolare in quel modo.

    Nel tuo caso specifico, devi:

    - Elencare tutti i file nella cartella
    - Ciclare per ogni file
    - Verificare che corrisponda al tuo pattern
    - Poi eliminarlo.

  8. #8
    accidenti nn pensavo fosse cosi complicato..

    uso una readdir per elencare i file...

  9. #9
    ho risolto grazie a tutti per la collaborazione

    $pattern='#o_[A-Z0-9a-z]{32}\.xml#i';
    $a=scandir('.');
    foreach ($a as $file){
    if (preg_match($pattern, $file, $matches)) {
    if (file_exists($matches[0])) unlink($matches[0]);
    }
    }

    ciao

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.