Italiano

Strumenti di testo e di uso quotidiano · Text Toolkit

Gruppi di acquisizione regex in Trova e sostituisci: riordina le date con $1, $2, $3

· Come funziona

espressione regolare trova e sostituisci date

Tre campi data acquisiti che si spostano dall'ordine anno-mese-giorno all'ordine giorno-mese-anno
Illustrazione vettoriale originale ToolAcre

Mostra come le parentesi catturano parti di una corrispondenza e come $1, $2 e $3 le riutilizzano nella sostituzione, utilizzando la classica riscrittura della data ISO-giorno-mese-anno e alcuni altri riordini.

Quattrocento date nell'ordine sbagliato: perché la modifica manuale di 2024-01-02 in 02/01/2024 è un lavoro per i gruppi di acquisizione

L'esportazione di un foglio di calcolo può lasciare quattrocento date nell'ordine ISO anno-mese-giorno mentre un foglio di lavoro del Regno Unito prevede il giorno/month/year. La modifica manuale di `2024-01-02` in `02/01/2024` è lenta, ma il rischio maggiore è l'incoerenza: una riga saltata o una cifra trasposta può sopravvivere finché non viene distribuito un report.

Trova e sostituisci può trattare ogni data come la stessa disposizione di parti anziché come quattrocento stringhe non correlate. Un'espressione regolare identifica l'anno, il mese e il giorno, mentre la sostituzione riscrive le parti catturate in un altro ordine. Le cifre originali vengono riutilizzate, quindi l'operazione modifica la struttura anziché ridigitare i valori.

Cosa catturano le parentesi: come ogni gruppo ottiene un numero da sinistra a destra e cosa \d{4} e \d{2} corrispondono

Le parentesi creano gruppi di acquisizione. In `(\d{4})-(\d{2})-(\d{2})`, il primo gruppo acquisisce quattro cifre, il secondo due e il terzo due. `\d` indica una cifra in questo modello JavaScript, mentre `{4}` e `{2}` specificano il numero esatto di ripetizioni richieste all'interno di ciascun gruppo.

I gruppi ricevono numeri da ciascuna parentesi di apertura mentre il motore legge da sinistra a destra. Per `2024-01-02`, il gruppo 1 è `2024`, il gruppo 2 è `01` e il gruppo 3 è `02`; i trattini corrispondono ai separatori ma si trovano all'esterno delle parentesi, quindi non vengono conservati come valori acquisiti.

Utilizzo di $1, $2 e $3 nella sostituzione: ricostruzione della corrispondenza in un nuovo ordine con nuovi separatori

La sostituzione `$3/$2/$1` chiede a JavaScript di inserire la terza acquisizione, una barra, la seconda acquisizione, un'altra barra e la prima acquisizione. Applicati all'esempio, questi riferimenti producono `02/01/2024`. I riferimenti al dollaro sono istruzioni di sostituzione, non testo che deve apparire anche nella data corrispondente.

ToolAcre passa la stringa di sostituzione all'operazione di sostituzione della stringa JavaScript standard. La sua fonte supporta esplicitamente riferimenti numerati come `$1`, `$2` e `$3` e il modello di ricerca è compilato a livello globale. Questo flag globale è il motivo per cui ogni data corrispondente viene riscritta in un'unica operazione anziché solo nella prima corrispondenza.

Esempio funzionante: (\d{4})-(\d{2})-(\d{2}) sostituito con $3/$2/$1, quindi verifica del conteggio delle sostituzioni rispetto al conteggio delle righe

Incolla la colonna esportata, attiva Regex, inserisci `(\d{4})-(\d{2})-(\d{2})` in Trova e inserisci `$3/$2/$1` in Sostituisci. Selezionando Sostituisci tutto vengono prima conteggiate le corrispondenze e poi le riscritte, quindi il risultato riporta quante stringhe a forma di data sono state modificate nell'intero testo incollato.

Confronta quel numero con il conteggio delle righe previsto prima di copiare nuovamente il risultato nel foglio di calcolo. Un conteggio inferiore indica spazi o date in un altro formato; un conteggio più alto significa che il testo simile corrisponde anche altrove. Lo strumento non dispone di un'anteprima di sostituzione, quindi utilizza l'azione Annulla se il conteggio o l'output rivela uno schema troppo ampio.

Ulteriori riordini: da "Cognome, Nome" a "Nome Cognome" e scambio delle colonne di un elenco a due colonne

Lo stesso principio può cambiare `Surname, Forename` in `Forename Surname` quando ogni riga contiene in modo affidabile una virgola: trova `([^,]+), ([^\r\n]+)` e sostituisci con `$2 $1`. Qui ogni gruppo cattura il testo su un lato del separatore noto, anziché assumere un numero fisso di cifre.

Uno scambio di due colonne non è un'operazione di tabella incorporata, nonostante la formulazione generale. Funziona solo quando il testo incollato ha un delimitatore affidabile e il modello descrive i confini della linea in modo sicuro. Le virgole all'interno dei nomi, i campi mancanti o le schede incoerenti richiedono una pulizia o uno schema più preciso prima che qualsiasi sostituzione collettiva sia affidabile.

Ulteriori riordinamenti funzionano solo quando l'input ha un separatore affidabile

Un punto in uno schema indica quasi tutti i caratteri, quindi uno schema di data scritto come `(\d{4}).(\d{2}).(\d{2})` accetta anche barre, spazi o lettere tra i campi. Evita un punto letterale come `\.` ed esegui l'escape di altri metacaratteri quando dovrebbero corrispondere a se stessi. Viene segnalata una parentesi non valida o una parentesi incompleta senza modificare il testo.

La numerazione dei gruppi inizia da 1, non da 0. Anche i simboli del dollaro hanno un significato di sostituzione speciale: `$&` inserisce l'intera corrispondenza e `$$` produce un simbolo del dollaro letterale. Questo comportamento si applica anche quando la modalità regex è disattivata perché ToolAcre esegue l'escape solo dal lato di ricerca; non esegue l'escape della stringa di sostituzione prima che JavaScript la elabori.

Ciò che questo non copre: gruppi con nome, lookbehind e nomi di mesi che necessitano di una tabella di ricerca

I gruppi numerati possono riorganizzare il testo già presente in una corrispondenza, ma non possono tradurre `Jan` in `01` perché ciò richiede una ricerca anziché un riordinamento. Inoltre, questo articolo non si basa su gruppi denominati o lookbehind, la cui utilità e supporto del browser implicano una serie di scelte diversa rispetto a questa semplice pulizia dell'esportazione.

L'espressione della data controlla la forma, non la verità del calendario. Corrisponderà a `2024-99-88` perché due cifre soddisfano ciascun gruppo più piccolo. Convalida le date nel foglio di calcolo o nel sistema di origine quando la correttezza è importante. Trova e sostituisci è appropriato per una formattazione coerente, non per dimostrare che ogni mese e giorno acquisiti sono validi.

Il punto: un modello, una sostituzione, ogni riga corretta in una volta nel Text Toolkit, con annullamento se il risultato non è quello previsto

I gruppi di acquisizione trasformano una stringa abbinata in pezzi riutilizzabili. Per una colonna di data uniforme, tre gruppi conservano l'anno, il mese e il giorno originali mentre `$3/$2/$1` li posiziona nell'ordine del Regno Unito. La ricerca globale gestisce tutte le corrispondenze e il conteggio riportato fornisce un controllo immediato rispetto al numero di righe che intendevi modificare.

Mantieni il flusso di lavoro revisionabile: conserva una copia dell'esportazione, utilizza il modello più ristretto che si adatta, confronta il conteggio, esamina diversi risultati e annulla quando le prove non sono d'accordo con le tue aspettative. Una sostituzione ben mirata può rimuovere le modifiche ripetitive senza pretendere che ogni valore a forma di cifra sia automaticamente una data valida.