indicar todas las partes coincidentes de la cadena de entrada, que residen todas dentro de la matriz de coincidencia. Todas estas son instancias de su patrón dentro de la cadena de entrada.
indicar todos los grupos a capturar, definidos en el patrón RegEx. (Los patrones entre paréntesis, así: /format_(. ?)/g, donde (. ?) sería un grupo coincidente.) Estos residen dentro de patrones coincidentes.
Podemos determinar fácilmente el desplazamiento del patrón coincidente, por ejemplo, usando replace() :
// offset of the matched pattern is : arguments[arguments.length - 2] 'lorem ipsum dolor sit amet'.replace(/ip(\w+)[ ]/g, function() { console.log(JSON.stringify(arguments, undefined, 2)); }) { "0": "ipsum ", "1": "sum", "2": 6, "3": "lorem ipsum dolor sit amet" }Entonces, ¿cómo determinar programáticamente el desplazamiento del grupo coincidente en lugar del patrón coincidente completo?
En este caso, el desplazamiento de " sum " en el ejemplo anterior, que es 8 .
Tanto el texto como la expresión regular son entradas del usuario. Por lo tanto, la forma codificada de generar el desplazamiento del grupo no es una opción.
Por cierto, regex101.com puede generar estas compensaciones bastante rápido, por lo que debe estar lejos para hacer esto: 