Hilo oficial: Solicitudes de Expresiones Regulares

<< < (5/6) > >>

WHK:
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.

Eleкtro:
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
// Formats an audio filename that has the "...featuring artist" part at the end of filename.
//------------------------------------------------------------------------------------------
 
 
// Pseudo-Example:
//
// From: [0]ARTIST_NAME  [1]DASH  [2]TRACK_TITLE  [3]FEAT_ARTIST  [4]POSSIBLE_ADDITIONAL_INFO_INSIDE:()[]{}
// To:   [0]ARTIST_NAME  [3]FEAT_ARTIST  [1]DASH  [2]TRACK_TITLE  [4]POSSIBLE_ADDITIONAL_INFO_INSIDE:()[]{}
 
// Real-Example:
//
// From: Carbin & Sirmark - Sorry Feat. Sevener.mp3
// To:   Carbin & Sirmark Feat. Sevener - Sorry.mp3
 
// Known limitations:
//
// • If [0]ARTIST_NAME or [2]TRACK_TITLE parts contains any " - " the script will not work properlly.
//   By default the script prevents any replacement on that kind of filenames, so don't worry.
 
 
var
 rgxPattern: string;
 rgxReplace: string;
 dashCount: integer;
 baseName: string;
 extension: WideString;
 
begin
 
 baseName  := WideExtractBaseName(FileName)
 extension := WideExtractFileExt(FileName);
 
 // The regular expression that matches the filename parts.
 // http://stackoverflow.com/questions/32807698/regex-pattern-to-limit-dashes-in-these-circumstances
 rgxPattern := '^(.+)\s+-\s+(.+?)\s+[fF](t|eat(uring)?)?\.?([^([\])\n]+)(.+)?$'
 rgxReplace := '$1 Feat.$5 - $2$6'
 
 // The amount of " - " that contains the filename.
 dashCount := high(MatchesRegEx(baseName, '\s-\s' , false));
 
 // If only one " - " is found then...
 If (dashCount = 0) Then
   begin // Do the replacement.
     baseName := ReplaceRegEx(baseName, rgxPattern, rgxReplace, false, true)
     FileName := baseName + extension;
   end;
 
end.

Saludos!

ThinkByYourself:
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!

#!drvy:
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

ThinkByYourself:
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.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior