Regex in PHP

R

Che cos'è un'espressione regolare?

L'espressione regolare è fondamentalmente iniziata dalla matematica che definisce una gamma di caratteri per qualche scopo. Lingue diverse ottengono riferimenti da questo concetto matematico e lo applicano per la ricerca di modelli e la convalida dei dati. In questo articolo imparerai le espressioni regolari in PHP.

Esistono molti casi d'uso di espressioni regolari in PHP come la ricerca, la convalida, ecc. In questo articolo imparerai a conoscere le espressioni regolari nei modelli di ricerca. Una volta che sarai in grado di capire la regex, puoi usarla ovunque in PHP.

Un'espressione regolare può essere utilizzata per cercare testo da stringhe o per sostituire caratteri o stringhe specifici.

Un'espressione regolare può essere un singolo carattere o una combinazione di alcuni modelli complessi.

Sintassi dell'espressione regolare in PHP

Il delimitatore può essere qualsiasi carattere che non sia una lettera, un numero, una barra rovesciata o uno spazio. Il delimitatore più comune è la barra in avanti (/), ma quando il modello contiene barre in avanti è conveniente scegliere altri delimitatori come # o ~.

Generalmente, l'espressione regolare in PHP consiste of tre parti.

  1. delimitatore – Specifica che indica l'inizio o la fine della stringa nel pattern. Un delimitatore non può essere una barra rovesciata, un numero, una lettera o uno spazio. Tuttavia, una barra può essere utilizzata come delimitatore. Se i pattern che stai cercando consistono in barre di inoltro, puoi cambiare il delimitatore in tilt ~ o hash #.
  2. Modello – Specificava il modello o la sequenza di caratteri da cercare.
  3. Modificatori (opzionale) – È possibile rendere insensibile o sensibile la corrispondenza dei casi di pattern.

Esempio

$exp = "/php.org/i";

RegextFunctions in PHP

PHP fornisce funzioni integrate per le espressioni regolari. Le funzioni regex più comuni in PHP sono:

  • Preg_replace() – Conta il numero di volte in cui il pattern si verifica nella stringa e restituisce il conteggio.
  • Preg_match() – restituisce 0 in caso di pattern non trovato nella stringa. 1 in caso di ritrovamento.
  • Preg_match_all() – Questa funzione sostituisce la stringa con un'altra stringa a cui corrisponde il modello. Avrai un'idea più chiara nella prossima sezione se hai difficoltà a capire.

funzione preg_match in PHP

La funzione Preg_match restituisce il risultato binario. Questo è 0 o 1. Se la stringa contiene il modello specificato nel primo argomento della funzione preg_match, restituirà 1. 0 in caso di non trovato.

Guarda il seguente esempio, in cui cerchiamo la stringa per i caratteri PHP.

<?php
$str = "Visit php.org";
$pattern = "/php/i";
echo preg_match($pattern, $str); // Outputs 1
?>

funzione preg_match_all in PHP

Questa funzione non dice se il modello esiste o meno nella stringa. Restituisce il conteggio del numero di volte in cui un pattern appare nella stringa. Guarda l'esempio seguente in cui abbiamo eseguito una ricerca senza distinzione tra maiuscole e minuscole dei pattern ing nella stringa data.

Esempio

<?php
$str = "It is raining heavily. Cars are slipping outside. ";
$pattern = "/ing/i";
echo preg_match_all($pattern, $str); // Outputs 4
?>

/i nell'esempio sopra specificare che la stringa può essere sia minuscola che maiuscola.

preg_replace funzione in PHP

preg_replace La funzione restituisce una nuova stringa sostituendo il modello trovato nella stringa con un'altra stringa di caratteri. Questa funzione accetta tre parametri. Il primo parametro è il modello da cercare nella stringa nel secondo parametro. Infine, il terzo parametro è la stringa da mettere al posto del pattern che si trova nella stringa.

Guarda il seguente esempio, in cui sostituiamo la parola sito web con PHP.org

Esempio

<?php
$str = "Visit Website!";
$pattern = "/Website/i";
echo preg_replace($pattern, "php.org", $str); // Outputs "Visit php.org!"
?>

Modificatori delle espressioni regolari

Puoi regolare il comportamento di ricerca dell'espressione regolare in PHP definendo le seguenti variabili modificatrici.

  1. I – Utilizzato per eseguire ricerche senza distinzione tra maiuscole e minuscole.
  2. U – Per la ricerca corretta dei pattern utf-8.
  3. M – Aggiunge la multi-ricerca nella regex PHP. Ci sono alcuni modelli che cercano all'inizio o alla fine di ogni riga. Quindi, questi modelli guardano all'inizio e alla fine di ogni riga della stringa.

Specifica l'intervallo nell'espressione regolare PHP

Comprendi i seguenti tre concetti. Ti aiuterà a mettere l'intervallo in schemi durante la ricerca di testo o la sua sostituzione.

  1. [abc] – Le parentesi quadre indicano che trovano un carattere qualsiasi tra questi caratteri nella stringa.
  2. [^0-9] – Cerca i caratteri non compresi nell'intervallo tra parentesi.
  3. [0-9] – Trova qualsiasi carattere compreso tra 0 e 9. 0 e 9 sono inclusi in questo caso.

Puoi saperne di più sulle funzioni Regex in PHP qui

Aggiungi un commento

Rete di tutor

Impara PHP dalla A alla Z