elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Eleкtro)
| | |-+  Hilo oficial: Solicitudes de Expresiones Regulares
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: Hilo oficial: Solicitudes de Expresiones Regulares  (Leído 6,858 veces)
WHK
吴阿卡
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.831


The Hacktivism is not a crime


Ver Perfil WWW
Re: Hilo oficial: Solicitudes de Expresiones Regulares
« Respuesta #20 en: 8 Octubre 2015, 05:24 »

Yo llegué hasta acá:

http://regexr.com/3buj9
Código:
/(.*)?\s+-\s+(.+)?(featuring\s.*|feat\s.*|feat\..*)/ig

Entre intentar buscar los que dicen o no dicen feat y los que tienen guion al comienzo y los que no, llegué a la conclusión de que era necesario por lo menos 3 expresiones distintas para poder hacer match y dependiendo del match hacer el reemplazo. Ya es tarde, mañana veré si les doy una mano porque ando hasta el cuello con trabajos.


En línea

Eleкtro
🌍 🕉️ 🛏️ Novato Astral 🛏️ 🕉️ 🌍 y...
Moderador Global
***
Conectado Conectado

Mensajes: 9.283


El sentido común es el menos común de los sentidos


Ver Perfil
Re: Hilo oficial: Solicitudes de Expresiones Regulares
« Respuesta #21 en: 8 Octubre 2015, 12:52 »

Muchas gracias WHK, probaré esa expresión.

De todas formas la solución actual que tengo ahora mismo es con esta expresión, en la cual me ayudaron a construirla:
Código:
^(.+)\s+-\s+(.+?)\s+[fF](t|eat(uring)?)?\.?([^([\])\n]+)(.+)?$

Pero hay un problema, según parece es imposible construir una expresión regular que sea 100% eficiente debido a la cantidad de guiones y espacios que pueden contener los nombres de archivos (como yo decía al principio), al menos eso es lo que me dijo el que me ayudó con esa expresión, entonces yo mismo desarrollé el siguiente script en pascal-script para ignorar los nombres de archivos que contengan más de un " - " ya que la eficiencia para estos renombramientos de archivo necesito que sea perfecta, prefiero omitir reemplazamientos y revisar manualmente los nombres que se omitieron.

Estoy convencido que si alguien suele descargar archivos de audio, entonces esta expresión, o la de @Explorer y la de @WHK les podrá servir de mucha ayuda!.

(este script se utiliza con la aplicación Renamer Pro: http://www.den4b.com/?x=products )
Código
  1. // Formats an audio filename that has the "...featuring artist" part at the end of filename.
  2. //------------------------------------------------------------------------------------------
  3.  
  4.  
  5. // Pseudo-Example:
  6. //
  7. // From: [0]ARTIST_NAME  [1]DASH  [2]TRACK_TITLE  [3]FEAT_ARTIST  [4]POSSIBLE_ADDITIONAL_INFO_INSIDE:()[]{}
  8. // To:   [0]ARTIST_NAME  [3]FEAT_ARTIST  [1]DASH  [2]TRACK_TITLE  [4]POSSIBLE_ADDITIONAL_INFO_INSIDE:()[]{}
  9.  
  10. // Real-Example:
  11. //
  12. // From: Carbin & Sirmark - Sorry Feat. Sevener.mp3
  13. // To:   Carbin & Sirmark Feat. Sevener - Sorry.mp3
  14.  
  15. // Known limitations:
  16. //
  17. // • If [0]ARTIST_NAME or [2]TRACK_TITLE parts contains any " - " the script will not work properlly.
  18. //   By default the script prevents any replacement on that kind of filenames, so don't worry.
  19.  
  20.  
  21. var
  22.  rgxPattern: string;
  23.  rgxReplace: string;
  24.  dashCount: integer;
  25.  baseName: string;
  26.  extension: WideString;
  27.  
  28. begin
  29.  
  30.  baseName  := WideExtractBaseName(FileName)
  31.  extension := WideExtractFileExt(FileName);
  32.  
  33.  // The regular expression that matches the filename parts.
  34.  // http://stackoverflow.com/questions/32807698/regex-pattern-to-limit-dashes-in-these-circumstances
  35.  rgxPattern := '^(.+)\s+-\s+(.+?)\s+[fF](t|eat(uring)?)?\.?([^([\])\n]+)(.+)?$'
  36.  rgxReplace := '$1 Feat.$5 - $2$6'
  37.  
  38.  // The amount of " - " that contains the filename.
  39.  dashCount := high(MatchesRegEx(baseName, '\s-\s' , false));
  40.  
  41.  // If only one " - " is found then...
  42.  If (dashCount = 0) Then
  43.    begin // Do the replacement.
  44.      baseName := ReplaceRegEx(baseName, rgxPattern, rgxReplace, false, true)
  45.      FileName := baseName + extension;
  46.    end;
  47.  
  48. end.

Saludos!


« Última modificación: 8 Octubre 2015, 12:55 por Eleкtro » En línea


[/cent
ThinkByYourself

Desconectado Desconectado

Mensajes: 191


Ver Perfil
Re: Hilo oficial: Solicitudes de Expresiones Regulares
« Respuesta #22 en: 23 Abril 2017, 16:04 »

Hola!

Hace tiempecillo que no se toca este hilo.

El caso es que busco la expresión de regular de la expresión regular de javascript en javascript.

Me sería de mucha ayuda, y la verdad que es una búsqueda que en gogle no me se da bien...

A ver si alguien me sabe decir.

Un saludo!
« Última modificación: 23 Abril 2017, 16:06 por NoBullshit » En línea

No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.
#!drvy
CoAdmin
***
Desconectado Desconectado

Mensajes: 4.692



Ver Perfil WWW
Re: Hilo oficial: Solicitudes de Expresiones Regulares
« Respuesta #23 en: 23 Abril 2017, 16:46 »

Citar
El caso es que busco la expresión de regular de la expresión regular de javascript en javascript.

¿Podrías poner ejemplos o explicarlo mejor? Eso no tiene mucho sentido.

Saludos
En línea

ThinkByYourself

Desconectado Desconectado

Mensajes: 191


Ver Perfil
Re: Hilo oficial: Solicitudes de Expresiones Regulares
« Respuesta #24 en: 23 Abril 2017, 21:57 »

Claro! La expresión regular sería para encontrar expresiones regulares de js en un string. Pero la expresión regular tendría que servir como RegExp de js. Las que al vuelo simplemente /miregex/g.
En línea

No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.
WHK
吴阿卡
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.831


The Hacktivism is not a crime


Ver Perfil WWW
Re: Hilo oficial: Solicitudes de Expresiones Regulares
« Respuesta #25 en: 23 Abril 2017, 22:07 »

Código:
(\/.*?\/.*)

Así?

http://regexr.com/3fqc1
« Última modificación: 23 Abril 2017, 22:09 por WHK » En línea

ThinkByYourself

Desconectado Desconectado

Mensajes: 191


Ver Perfil
Re: Hilo oficial: Solicitudes de Expresiones Regulares
« Respuesta #26 en: 24 Abril 2017, 19:24 »

Si, algo así, pero debería cubrir todas las opciones. Lo tricky viene cuando:

/\\\// --> debería pasar
/\\/ --> debería pasar
/\\\/ --> no debería pasar porque no está cerrada

Y tengo mis dudas. Se debe hacer con los operadores especiales supongo, de ? y !, que no los pillo porque en unos sitios van y en otros no.
Sólo puede cerrarse con /, pero no valdría decirle [^/]+.
Sería algo que aceptara \/ o cualquier cosa que no sea / hasta encontrar /.

(Que en verdad no sería eso, porque dentro de [ y ] el / creo que sí se puede poner. Y ahí se vuelve un poco locura. Pero yo la he visto esa regex. Existe xD).

La solución que das es la que tengo provisional. A ver si la encuentro



Estoy desde el móvil. Pero la encontré. Aquí está:



Lo que pasa que está escrita en CoffeeScript, ojo. Para js hay que adaptarla.

Pro esta debería ser, la regex de las regex de js.


Saludos!

MOD: Imagen redimensionada a lo permitido.
Mod: No hacer doble post.
« Última modificación: 25 Abril 2017, 03:30 por #!drvy » En línea

No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.
Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Expresiones Regulares
Programación General
joseru18 0 702 Último mensaje 17 Agosto 2005, 04:12
por joseru18
Expresiones Regulares
Programación General
joseru18 0 554 Último mensaje 17 Agosto 2005, 04:12
por joseru18
Expresiones regulares
Programación Visual Basic
chrominum 1 951 Último mensaje 30 Enero 2008, 23:09
por LeandroA
¿Expresiones Regulares?
Programación General
Choclito 2 2,084 Último mensaje 4 Marzo 2010, 21:59
por BEATMASTER
Expresiones Regulares + Php wtf!
PHP
Shell Root 4 2,456 Último mensaje 29 Marzo 2010, 01:24
por Castg!
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines