Autor
|
Tema: Hilo oficial: Solicitudes de Expresiones Regulares (Leído 32,465 veces)
|
WHK
|
Yo llegué hasta acá: http://regexr.com/3buj9/(.*)?\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
Ex-Staff
Desconectado
Mensajes: 9.878
|
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: ^(.+)\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 ) // 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!
|
|
« Última modificación: 8 Octubre 2015, 12:55 pm por Eleкtro »
|
En línea
|
|
|
|
ThinkByYourself
Desconectado
Mensajes: 191
|
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 pm 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
|
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
Mensajes: 191
|
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
|
|
|
« Última modificación: 23 Abril 2017, 22:09 pm por WHK »
|
En línea
|
|
|
|
ThinkByYourself
Desconectado
Mensajes: 191
|
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 am 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.
|
|
|
Miseryk
Desconectado
Mensajes: 225
SI.NU.SA U.GU.DE (2NE1 - D-Unit)
|
Buenas, estaba buscando una expresión que no sé como terminarla, para no volver a postear todo, lo había posteado acá por error: https://foro.elhacker.net/scripting/regex-t484967.0.html
|
|
|
En línea
|
Can you see it? The worst is over The monsters in my head are scared of love Fallen people listen up! It’s never too late to change our luck So, don’t let them steal your light Don’t let them break your stride There is light on the other side And you’ll see all the raindrops falling behind Make it out tonight it’s a revolution
CL!!!
|
|
|
~
|
Necesito hacer un chat con inteligencia artificial simple: http://190.53.102.175/chat/chat.phphttp://190.53.102.175/api/bin/i.a/prg.jsExpresión regular de JavScript para encontrar cualquier cadena para subdominios, por ejemplo para encontrar: yotube.com/watch?v= yotube.com.mx/watch?v= Por ejemplo, equivalente a: youtube.com*/watch?*v=
|
|
« Última modificación: 6 Enero 2023, 15:25 pm por ~ »
|
En línea
|
|
|
|
~
|
Tutorial: Buscar cualquier cadena de caracter ASCII opcionales: [\x20-\x7F]* - para sustituir cualquier subcadena ASCII imprimible [\x00-\x7F]* - para sustituir cualquier subcadena ASCII Buscar cadenas ASCII obligatorias con tamaño específico: [\x20-\x7F]{11} - para sustituir la ID de video de YouTube de 11 caracteres Buscar cadenas específicas opcionales como "www.": (www\.)* - para sustutuir "www." Ver si está 1 o 0 caracteres para la s de https: (s)* - para sustituir s o nada .{0,1} - para sustituir s o nada Escapar caracteres especiales: \/\/ - para escapar "//" \? - para escapar algo como "watch?" //Busca offset de youtube.com y subdominios de païs con o sin https, //con o sin www., se asegura de que sea una URL de video válida: /// text = " http://de.youtube.com/watch?param0=langes&v=Mw0yNzdyH6Y&gl=DE"; n = text.search(/http(s)*:\/\/[\x20-\x7F]*youtube.com[\x20-\x7F]*\/watch\?[\x20-\x7F]*v\=[\x20-\x7F]{11}[\x20-\x7F]*/i);
//Busca offset de youtube.com y subdominios de país con o sin https /// text = " http://youtube.com.sv/watch?v=sadgddddddd"; n = text.search(/http.{0,1}:\/\/youtube.com...\//i);
//Busca offset de youtube.com y subdominios de país con o sin https, //con o sin www. /// text = " https://www.youtube.com/watch?v=Mw0yNzdyH6Y"; n = text.search(/http.{0,1}:\/\/(www\.)*youtube.com...\/*/i);
|
|
« Última modificación: 12 Enero 2023, 15:20 pm por ~ »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Expresiones regulares
Programación Visual Basic
|
chrominum
|
1
|
2,524
|
30 Enero 2008, 23:09 pm
por LeandroA
|
|
|
Expresiones Regulares + Php wtf!
PHP
|
Shell Root
|
4
|
4,747
|
29 Marzo 2010, 01:24 am
por Castg!
|
|
|
expresiones Regulares
.NET (C#, VB.NET, ASP)
|
Choclito
|
3
|
5,853
|
1 Mayo 2010, 05:09 am
por raul338
|
|
|
Expresiones Regulares
Programación General
|
Psyke1
|
9
|
5,881
|
1 Junio 2010, 02:12 am
por SeC
|
|
|
expresiones regulares
Dudas Generales
|
m@o_614
|
1
|
2,929
|
22 Junio 2014, 18:41 pm
por NikNitro!
|
|