Tengo una duda con expresiones regulares.
Supongamos que tengo una expresión regular cualquiera y quiero aplicar la misma expresión pero solo con un pequeño cambio.
Creo que con ejemplo se verá mejor. (Esta expresión regular me la copié de software prefabricado y la coloco solo como ejemplo):
Código PHP:
preg_match_all('~\[img(\s+width=\d+)?(\s+height=\d+)?(\s+width=\d+)?\](.+?)\[/img\]~is', $message, $matches, PREG_PATTERN_ORDER);
Podría hacerlo dos veces

Código PHP:
preg_match_all('~\[img(\s+width=\d+)?(\s+height=\d+)?(\s+width=\d+)?\](.+?)\[/img\]~is', $message, $matches, PREG_PATTERN_ORDER);
preg_match_all('~\[embed(\s+width=\d+)?(\s+height=\d+)?(\s+width=\d+)?\](.+?)\[/embed\]~is', $message, $matches, PREG_PATTERN_ORDER);
Hasta ahora creo que así es como me conviene para lo que busco.
Código PHP:
preg_match_all('~\[(?:img|embed)(\s+width=\d+)?(\s+height=\d+)?(\s+width=\d+)?\](.+?)\[/(?:img|embed)\]~is', $message, $matches, PREG_PATTERN_ORDER);

Ojalá me respondan, porque en esto es donde ando más en blanco y sin guia. Casi sin importar lo que leo quedo igual

Gracias adelantadas.