Regex: come cancellare il testo dopo un simbolo in tutte le righe

Oggi dovevo trovare il modo di cancellare tutte le stringhe a destra di un certo simbolo (in realtà due simboli ||).
Era una stringa del genere:
“contenuto1 || contenuto2”
A me interessava tenere solo la stringa:

“contenuto1 ||”
Ecco la formula magica:

E cioè:

  • in Trova: (?-s)(?<=\|\|).*
  • in Sostituisci con: (vuoto)
  • in Tipo di ricerca: Espressione regolare

Ti spiego in breve la mia espressione regolare:

  • La prima parte dell’espressione (?-s) è un modificatore, che costringe il motore regex a interpretare il carattere regex punto (.) come se stesse per un singolo carattere standard (non i caratteri di fine riga)
  • L’ultima parte dell’espressione .* cerca di far corrispondere qualsiasi intervallo, anche vuoto, di caratteri standard
  • La parte centrale (?<=\|\|) è una una condizione che deve essere vera per una corrispondenza complessiva. Questa condizione implica che l’intervallo di caratteri corrispondente deve essere preceduto da una barra verticale letterale ( | ), che, a sua volta, deve essere preceduta da un \, perché | il carattere è il simbolo regex per l’alternanza (o). E, a causa della casella sostituisci con vuota, questo intervallo di caratteri, situato dopo il | carattere, viene semplicemente cancellato.

Buona espressione regolare a tutti!

Richiedi informazioni

Raccontami il tuo progetto, tracking, accessibilità, campagne adv da sistemare o semplicemente un sito che non vuol saperne di funzionare. Insieme possiamo migliorarlo.

    Accetto la Privacy Policy
    Autorizzo al trattamento dei miei dati personali, per ricevere le informazioni richieste attraverso questo modulo di contatto. I dati da te inseriti attraverso questo modulo verranno utilizzati solo per essere da me ricontattato.

    Recensioni

    Scrivimi una recensione

    Questo QR Code ti permette di lasciarmi una recensione in maniera facile e veloce.

    Altrimenti usa il bottone qui sotto.

    Lascia una recensione su Google