Intanto segnalo questo sito su cui testare le regexp senza dover far girare ogni volta lo script dopo le modifiche alla regola, fa tutto in tempo reale e ti spiega anche che significa la regola che si è scritta, così è anche più facile capire cosa si sta sbagliando

https://regex101.com/