Estoy haciendo una simple aseveración Lookbehind para obtener un segmento de la URL (ejemplo a continuación) pero en lugar de obtener la coincidencia obtengo el siguiente error: Javascript/RegExp: Lookbehind Assertion está causando un error de "grupo no válido"
Uncaught SyntaxError: Invalid regular expression: /(?<=\#\!\/)([^\/]+)/: Invalid group
Aquí es el guión que estoy corriendo:
var url = window.location.toString();
url ==
http://my.domain.com/index.php/#!/write-stuff/something-else
// lookbehind to only match the segment after the hash-bang.
var regex = /(?<=\#\!\/)([^\/]+)/i;
console.log('test this url: ', url, 'we found this match: ', url.match(regex));
El resultado debería ser
write-stuff
.
¿Alguien puede arrojar algo de luz sobre por qué este grupo regex está causando este error? Parece un RegEx válido para mí.
Conozco las alternativas sobre cómo obtener el segmento que necesito, así que esto es realmente solo para ayudarme a entender lo que está sucediendo aquí en lugar de obtener una solución alternativa.
Gracias por leer.
J.
¿Puede dar algún ejemplo de cadena de entrada y qué parte de ella debe coincidir con regex? – Shekhar
Lo he movido desde el bloque de código al ejemplo principal. Actualizado arriba. Por favor, avíseme si desea más detalles y lo publicaré felizmente. – Jannis