|
||
|
![]() |
![]() |
Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
Herramientas |
#1
|
||||
|
||||
expresión regular para búsqueda dentro de una variable
Hola: quisiera realizar esta tarea, estoy buscando y no lo encuentro y/o no lo entiendo.
Hago una consulta HTTP get para buscar en la página de la componía telefónica el llamante. Recibo extensos resultados donde está el nombre. Paso el resultado de %HTTPD a una variable. Lo que hice fue llamar a mi celular con el fijo y buscar dentro de esa variable mi nombre, una vez ubicado veo que está dentro de esta estructura var ADV0 = ['apellido y nombre'] Para extraerlo separo la variable %llamada usando var ADV0 = [' y luego separa %llamada2 usando ' para que me quede el nombre Esta es la tarea Identificar Llamada (54) A1: Si (if) [ %CNUM ~ %CNAME & %CNUM !~ 0 ] A2: HTTP Get [ Servidor:Puerto:www.paginasblancas.com.ar Ruta:telefono/%CNUM Atributos: Cookies: User Agent: Cuenta atrás:10 Tipo Mime: Archivo de salida: Confiar en cualquier Certificado:Apagado ] A3: JavaScriptlet [ Código:var llamada = global("HTTPD"); Librerías: Salida Automática:Encendido Cuenta atrás (segundos):45 ] A4: Separar variable [ Nombre:%llamada Separador:var ADV0 = [' Eliminar base:Apagado ] A5: Separar variable [ Nombre:%llamada2 Separador:' Eliminar base:Apagado ] A6: Notificación [ Título:Llamada de %llamada21 Texto: Icono:null Número:0 Permanente:Apagado Prioridad:3 ] A7: Flash [ Texto:%llamada21 Largo:Encendido ] A8: Fin si (End if) Mi idea era empezar a usar javascript y hacer todo junto, pero he llegado a probar con el comando split y no he podido, ahora esot probando con buscar y reemplazar y mi pregunta es que expresión regular puedo usar para, en un paso, buscar lo que está dentro de "var ADV0 = ['xxxxxxx']" y que me lo guarde en una variable que contenga xxxxxxx. Espero que alguien pueda ayudarme, el perfil anda bien pero quisiera aprender a hacerlo de otra forma. Gracias. Última edición por leromaro Día 29/03/16 a las 17:31:14. |
Gracias de parte de: | ||
|
#2
|
||||
|
||||
Hola leromaro, puedes hacerlo así:
Despues de la acción HTTP GET, en el javascriptlet usas este código: Código:
var nombre = /.*?ADV0[^']*'([^']*)'.*/.exec(global('HTTPD')); if(nombre.length > 1) nombre = nombre[1]; else flash('No se ha encontrado el nombre en la respuesta'); En caso de no encontrar ese texto en la respuesta mostrará No se ha encontrado el nombre en la respuesta y el valor de %nombre no servirá para nada... |
Los siguientes 4 usuarios han agradecido a maid450 su comentario: | ||
#3
|
||||
|
||||
Genial: probado y funcionando, prometo tratar de entenderlo, pero seguro que jamás iba a llegar solo a la respuesta.
Muchas gracias. |
Los siguientes 2 usuarios han agradecido a leromaro su comentario: | ||
![]() |
![]() |
||||||
|
Herramientas | |