Visualizzazione dei risultati da 1 a 6 su 6

Discussione: problemi con regex

  1. #1

    problemi con regex

    Ciao a tutti,
    avrei bisogno di utilizzare una regular expression che mi trasformi la stringa "ABC_20081008120130_DEF" in "ABC_DEF".
    Potete darmi qualche idea?
    Grazie mille

  2. #2
    E' piuttosto facile. Utilizza i due _ come delimitatori per estrarre le stringhe prima e dopo di essi.

  3. #3
    il problema e' che la stringa e' variabile...per cui mi servirebbe un modo per eliminare tutte le 14 cifre tra i 2 _.
    Ho provato con (.*)\_[0-9]{14} che elimina in effetti le 14 cifre variabili, ma elimina anche quello che c'e' dopo...quindi da ABC_20081008120130_DEF rimane solo ABC, mentre a me serve ABC_DEF.
    Ti viene in mente qualcosa?

  4. #4
    Codice PHP:
    <?php 
    $content 
    "ABC_20081008120130_DEF";
    $pattern '#^(.*?)_.*?_(.*)$#si';
    $replace '$1_$2';
    $content preg_replace($pattern$replace$content);
    print(
    $content);
    ?>

  5. #5
    Purtroppo non mi funziona...io devo utilizzare questa regex all'interno di un adaptor di un modellizzatore di flussi, per cui non e' un vero PHP.
    In questo codice proprietario nell'adaptor si richiede l'extract di ABC_DEF a partire da "INFO_FILE: ABC_20081008120130_DEF". Come ti dicevo inserendo (.*)\_[0-9]{14} prendo solo ABC (senza INFO_FILE: che non mi interessa prendere), mentre inserendo la regex che mi hai suggerito mi restituisce tutto (cioe' "INFO_FILE: ABC_20081008120130_DEF").
    Potresti spiegarmi brevemente la regex che mi hai scritto nei singoli elementi cosi' da cercare di trovarne una simile per il mio caso?
    Grazie ancora

  6. #6
    In futuro, invece di postare una parte della stringa su cui lavori, postala tutta.

    Codice PHP:
    <?php
    $content 
    "INFO_FILE: ABC_20081008120130_DEF";
    $pattern '#INFO_FILE: (.*?)_.*?_(.*)$#si';
    $replace '$1_$2';
    $content preg_replace($pattern$replace$content);
    print(
    $content);
    ?>

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.