Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

189
Vistas
Obteniendo video de YT, canal o ninguno

Dada una lista de URL, ¿cómo puedo dividirla en 3 listas de suma?

uno para videos de YT, segundo para canales de YT, tercero para todos los demás?

 const paragraph1 = 'www.youtube.com/watch?v=NsjeEt1ZpqQ'; const regex1 = /www.youtube.com/(\c*)(watch?v=)?<videoId>[AZ,0-9])/gi; const paragraph2 = 'https://www.youtube.com/channel/UCKqFqiCe1dCUxRe0_YNZ6gg'; const regex2 = /www.youtube.com/channel/?<channelId>[AZ,_,0-9])/gi; const found = paragraph1.match(regex1); console.log(found); // expected output: Array ["T", "I"] const found = paragraph2.match(regex2); console.log(found);

Traté de sandbox en este sitio .

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Dado que planea dividir una lista de cadenas de URL en tres partes diferentes, puede usar tres patrones diferentes:

 www\.youtube\.com\/watch\?v=(?<videoId>\S+) www\.youtube\.com\/channel\/(?<videoId>\S+) www\.youtube\.com(?!\/(?:channel\/|watch\?v=))\S*

Vea demostraciones de regex #1 , regex #2 y regex #3 . Tenga en cuenta que necesita un entorno de JavaScript compatible con ECMAScript 2018+ para que funcionen los grupos de captura con nombre. Además, vea que los puntos se escapan en todas partes donde indican puntos literales.

Los patrones significan

  • www\.youtube\.com\/watch\?v= - una cadena literal www.youtube.com/watch?v=
  • (?<videoId>\S+) - Grupo "videoId": uno o más caracteres que no sean espacios en blanco
  • www\.youtube\.com\/channel\/(?<videoId>\S+) - una cadena literal www.youtube.com/channel/ y luego Group "videoId" capturando uno o más caracteres que no sean espacios en blanco
  • www\.youtube\.com(?!\/(?:channel\/|watch\?v=))\S* - cadena de www.youtube.com y luego una búsqueda anticipada negativa que falla la coincidencia si, inmediatamente al correcto, hay un / char, luego channel/ o watch?v= , y luego se consumen cero o más caracteres que no son espacios en blanco.

Si planea usar los patrones contra algún texto de marcado, asegúrese de restar los caracteres de marcado del patrón \S , es decir, cámbielo a una clase de carácter negado con una abreviatura inversa, [^\s] , y agregue los caracteres después de \s . Digamos, si los enlaces están entre comillas dobles, ponga " allí, [^\s"] .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda