Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/04/2014, 18:27
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años
Puntos: 320
Respuesta: Exprecion regular para palabras y literales

Hola, lo tengo hecho con una funcion medio horrorosa, lo que hago es enviar toda la cadena de txt como primer parametro a esta funcion:
Código Javascript:
Ver original
  1. parseArrayParams :  function (str, newP)    
  2.     {
  3.         (newP != undefined) || (newP = true);
  4.         var prt = str.split('');
  5.         var pos;
  6.         var inText = '';
  7.         var scape = false;
  8.         str = '';
  9.         for(pos=0;pos<prt.length;pos++)
  10.         {
  11.             if(newP && inText == '' && prt[pos] != ' ')
  12.             {
  13.                 str += ', ';
  14.                 newP  = false;
  15.             }
  16.             if(inText != '' && scape)
  17.             {
  18.                 str += prt[pos];
  19.                 scape = false;
  20.             }
  21.             else if(inText != '' && prt[pos] == "\\")
  22.             {
  23.                 scape=true;
  24.                 str += prt[pos];
  25.             }
  26.             else if(prt[pos] == '"' || prt[pos] == '\'')
  27.             {
  28.                 if(inText == '')
  29.                     inText = prt[pos];
  30.                 else if(inText == prt[pos])
  31.                     inText = '';
  32.                 str += prt[pos];
  33.             } else if(prt[pos] != ' ' && inText == '')
  34.             {
  35.                 newP = false;
  36.                 str += prt[pos];
  37.             } else if(prt[pos] == ' ' && inText == '')
  38.                 newP = true;
  39.             else if(inText != '')
  40.                 str += prt[pos];                           
  41.         }
  42.         return str;
  43.     }

Quiero la exprecion regular para dejar de utilizarla, pero no se me ocurre como puedo hacerlo, si fueran palabras comunes usaria ([\w-]+) pero lo que me complica es que pueden haber palabras con comillas, si a ti te parece que no es complicado, podrias por favor ayudarme a armarla? no sera mas de un renglon
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios