Corrispondenza pattern php utilizzando preg_match [duplicate]

Sep 04 2020

Sto cercando di abbinare un certo pattern in Php. Il mio codice è:

preg_match("/(?P<name>\w+)(?P<digit>\d+)/", $custom)

Ma non funzionerà. Quello che voglio è che il pattern possa contenere uno qualsiasi di questi caratteri in qualsiasi forma (di solito il pattern che corrisponde al percorso di un URL):

(az) (AZ) (0-9) (-)

Cosa posso fare?

Risposte

1 Barmar Sep 04 2020 at 07:49

Se vuoi solo controllare se contiene lettere, numeri, trattino basso o trattino, non hai bisogno dei gruppi di acquisizione. Usa un solo set di caratteri con un quantificatore. E ancoralo con ^e $per abbinare l'intera stringa.

preg_match('/^[-\w]+$/', $custom)