2017-10-15 1 views
-2

En utilisant regex, comment puis-je vérifier la météo d'un mot commence par un caractère, et se termine avec un autre? Par exemple, le mot "noir", comment vérifier qu'il commence par "b" et se termine par "k" en utilisant regex? Puis-je faire un remplacement en utilisant la fonctionnalité intégrée "task and replace" du tasker pour que ces deux caractères soient, par exemple, "place" au lieu de "noir", en remplaçant "b" par "p" et "k" avec "e" respectivement?Utiliser regex pour rechercher et remplacer des caractères dans un mot

Je l'utilise dans le programme tasker dans android, pour vérifier les contacts et prendre des décisions sur certaines conditions comme celle ci-dessus.

Merci d'avance.

+0

Voir les docs [] (http://tasker.dinglisch.net/ userguide/fr/matching.html): * Regex Matching est disponible: 1) dans la condition If d'une action, lorsque les opérateurs '~ R' ou'! ~ R' sont spécifiés. 2) dans l'action Remplacer la recherche de variables 3) dans la condition d'un état de valeur variable 4) partout où une correspondance simple est possible, en précédant l'expression rationnelle avec '~ R' ou'! ~ R' * .... * Simple appariement est utilisé dans les endroits suivants: 1) dans la condition If d'une action, lorsque les opérateurs '~' (match) ou '! ~' (ne correspondent pas) sont spécifiés. 2) dans les paremètres de texte des contextes d'état et d'événement 3) d'autres endroits: -) * –

+0

Etes-vous sûr d'utiliser le * regex * au bon endroit? Si oui, \ bb ([a-zA-Z] *) k \ b' à remplacer par 'p $ 1e' doit fonctionner. Sinon, il n'y a aucun moyen avec Simple Matching. –

Répondre

0

semble que vous voulez \sb([a-zA-Z]*)k\s

, qui correspondra b and k à l'extérieur et créer des espaces sûrs de autour avec theres le \s.

[a-zA-Z]* va s'assurer qu'il correspond à n'importe quel nombre de caractères dans l'alphabet.

Les parenthèses sauveront quoi que ce soit à l'intérieur et peut être récupéré à l'aide $1 de sorte que vous devriez être en mesure de le remplacer par p$1e

+0

Merci pour votre réponse. Je l'ai essayé dans tasker mais cela n'a pas fonctionné. Peut-être que le tasker utilise une autre façon d'écrire regex ?! –