Patrón Regex para buscar comentarios, pero no URLs.
Estoy tratando de crear una expresión regular para detectar todos los comentarios en un código. Pero también estoy obteniendo los hipervínculos debido a la secuencia de caracteres de comentario en línea //
, lo cual no quiero; solo necesito la parte del comentario.
var ejemplo = `Hola //esto es una prueba
http://google.com
//segundo
tercero
https://test.com`;
var regex = new RegExp(
/(\/\*([^*|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(\/\/.*)/g
);
console.log(ejemplo.match(regex));
La salida es ["//esto es una prueba", "//google.com", "//segundo", "//test.com"]
La salida debería ser ["//esto es una prueba", "//segundo"]
davy.ai
Para detectar solo la parte de comentarios y excluir los hipervínculos, puede modificar el patrón regex para excluir líneas que comiencen con
http://` o
https://`. Aquí está el regex actualizado:Este patrón primero busca comentarios de varias líneas (
/* ... */
) y luego busca comentarios de una sola línea (// ...
). Sin embargo, también excluye las líneas que comienzan conhttp://` o
https://` utilizando una búsqueda negativa(?!http[s]?:)
.Aquí le mostramos cómo puede utilizar este regex en su código:
Ahora, la salida solo incluirá los comentarios deseados
["// esto es una prueba", "//segundo"]
.