Para elaborar en una respuesta ya publicado, es necesario un partido mundial, de la siguiente manera:
var matches = string.match(/(abc|def)\d{8,11}/g);
Esto corresponderá con todos los subconjuntos de la cadena que:
- comienzan con "abc" o "def". Esta es la parte "(abc | def)"
- Están seguidas por 8-11 dígitos. Esta es la parte "\ d {8,11}". \ d coincide con los dígitos.
La bandera "g" (global) le ofrece una lista de todas las coincidencias, en lugar de solo la primera.
En su pregunta, ha solicitado 8-11 caracteres en lugar de dígitos. Si no importa si son dígitos u otros caracteres, puede usar "." en lugar de "\ d".
también notar que cada uno de sus partidos ejemplo, tienen más de 11 caracteres que siguen al "abc" o "def". Si cualquier número de dígitos va a hacer, a continuación, las siguientes de expresiones regulares pueden ser más adecuados:
- cualquier número de dígitos -
var matches = string.match(/(abc|def)\d*/g);
- al menos un dígito -
var matches = string.match(/(abc|def)\d+/g);
- Al menos 8 dígitos -
var matches = string.match(/(abc|def)\d{8,}/g);
1 a tomarse el tiempo para escribir una explicación! –