Ver la Versión Completa : RegEx backreference no me funciona con Variable Replace
GraphicAdventure
07/01/17, 19:52:02
No sé si cambió algo en las últimas versiones de Tasker pero no me sale el resultado.
¿Alguna información?
Tengo la versión 4.9u1 de Tasker. He probado esta tarea y funciona perfectamente:
prueba (124)
A1: Variable Set [ Name:%aaa To:aaaxyaaaxzaaa Recurse Variables:Off Do Maths:Off Append:Off ]
A2: Variable Search Replace [ Variable:%aaa Search:x. Ignore Case:Off Multi-Line:Off One Match Only:Off Store Matches In:%aab Replace Matches:Off Replace With: ]
A3: Flash [ Text:%aaa
%aab()
%aab1 Long:Off ]
En %aab1 sale xy y en %aab2 xz
Edito: vale te refieres al backreference. Perdona pero he leído demasiado rápido. Si quieres ponme la expresión regex y la pruebo, aunque supongo que el resultado será el mismo que el tuyo.
Enviado desde mi A0001 mediante Tapatalk
GraphicAdventure
07/01/17, 22:40:54
Mi resultado es nulo y debería funcionar.
Quiero saber el nombre del último perfil que se activó.
Mlesir, tienes que tener 1 activo como mínimo.
Var set %pactive a %PACTIVE
Buscar en %pactive: .*,(.+),
Reemplazar: $1
Lo intenté también con \1 pero nada.
Pues con este regex, usando los "lookaround", consigues meter en %aab1 el nombre del último perfil sin comas. Ojo que está marcado "Una sola coincidencia" y ojo que si no me equivoco en javascript no funcionan todos los lookaround :
prueba (124)
A1: Variable Set [ Name:%pactive To:,perfil uno,perfil dos,perfil tres, Recurse Variables:Off Do Maths:Off Append:Off ]
A2: Variable Search Replace [ Variable:%pactive Search:[^,]*(?=,$) Ignore Case:Off Multi-Line:Off One Match Only:On Store Matches In:%aab Replace Matches:Off Replace With: ]
A3: Flash [ Text:%aaa
%aab()
%aab1 Long:Off ]
Enviado desde mi A0001 mediante Tapatalk
GraphicAdventure
09/01/17, 00:37:41
Sí puedo hacerlo así pero estoy seguro que una referencia a grupos funcionaba.
La eficiencia disminuye drásticamente cuando la búsqueda no es progresiva, o sea, cuando hay backtracking. No siempre es posible evitar pero se puede reducir.
En tu expresión con cambiar el * a + ya evitas algo de backtracking.
Puedes comprobar los pasos que necesita una expresión en la página regex101.com en el flavor pcre (php).
RegEx siempre empieza de izquierda a derecha, infelizmente no se puede empezar a leer desde el final de la expresión.
La verdad es que nunca usé lo que dices. Probé tu expresión y tampoco me funcionó.
La consultaré seguro. Gracias Graphic.
Enviado desde mi A0001 mediante Tapatalk
GraphicAdventure
09/01/17, 02:28:07
Grupo es lo que pones entre () y la referencia a ese grupo si es para reemplazar es $x donde x es el número del grupo, si es dentro de la expresión es \x.
Pero solo está disponible dentro de la búsqueda o para reemplazar, no se puede guardar en una variable.
Con .*,(.+), estoy diciendo que quiero guardar lo que esté dentro de los paréntesis.
Grupos que no se capturan son (?:) o lookarounds.
En otros flavors existe un grupo atómico (?>) que no permite backtracking lo que resulta muy eficiente pero javascript no tiene. Lo único que se asemeja es el lookahead.
Tengo que ver que pasa con esto.
GraphicAdventure
09/01/17, 22:25:41
Acabo de descubrir que pasa. :sherlock:
Ahora sí funciona.
Es la predicción de texto del teclado que cuando escribo una coma pone un espacio automáticamente.
Se ve todo tan junto que ni me di cuenta.
Ya me pasó más veces al poner condiciones.
Tengo que desactivar esto cuando abra Tasker pero me parece que tendré que hacerlo manualmente o con input tap.
"El hombre es el único animal que tropieza dos veces en la misma piedra."
La de disgustos que ha dado el predictivo en este foro!
Yo utilizo otro teclado cuando estoy en el en Tasker. Se le puede poner un contexto de aplicación (tasker) y usar una acción de cambiar el teclado.
El teclado si te interesa te digo el nombre, es que lo tengo en la Tablet.
Enviado desde mi A0001 mediante Tapatalk
GraphicAdventure
10/01/17, 22:15:58
Por probarlo no pierdo nada, dímelo claro.
Para Tasker mejor uno sencillo sin tecnologías.
Soy de viejos hábitos y sigo presionando tecla por tecla, nunca probé eso de swype/swiftkey.
El que viene con mi S3 está bien salvo que ocupa la mitad de la pantalla y para escribir en páginas web no veo casi nada.
¿No sé si hay alguno que ocupe menos pantalla?
El GBoard de Google parece bien para un uso diario.
El teclado es thumb keyboard:
https://play.google.com/store/apps/details?id=com.beansoft.keyboardplus&hl=es&referrer=utm_source%3Dgoogle%26utm_medium%3Dorgani c%26utm_term%3Dthumb+keyboard+play+store&pcampaignid=APPU_1_sX52WLOVOYjeUZPJjqgB
https://uploads.tapatalk-cdn.com/20170111/37f18af7e325a694b424a88723c3e3f4.jpg
Ventajas:
Tener los cursores
La fila de arriba del todo eliges que caracteres/simbolos escriben.
Super util poder tener dos teclas para copy/paste
Puedes elegir el tamaño del teclado y la configuración, incluso por separado: una vertical otra para horizontal.
Enviado desde mi T1-701u mediante Tapatalk
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.