Votre tâche, si vous choisissez de l'accepter, consiste à écrire une expression régulière Perl qui, pour une chaîne donnée, renverra la première occurrence d'un caractère qui n'est pas dupliqué de manière consécutive. En d'autres termes, les deux ont précédé ET réussi par des caractères différents de lui-même (respectivement début/fin de chaîne).Qu'est-ce qu'une expression rationnelle Perl pour trouver le premier caractère non répétitif dans une chaîne?
Exemple:
IN: aabbcdecc
OUT: c
S'il vous plaît noter que « non consécutivement dupliquée » ne signifie pas « nulle part dans la chaîne ».
REMARQUE: il doit s'agir d'une expression regex pure. Par exemple. la solution qui vient évidemment à l'esprit (cloner la chaîne, supprimer tous les doublons et imprimer le premier caractère restant) ne compte pas, bien qu'elle résout le problème.
La question est inspirée par ma réponse un peu hors-sujet à ceci: How can I find the first non-repeating character in a string using Perl?
Ne fonctionne pas; (. Les captures étaient "un" et "b". vous laissera à vous de comprendre pourquoi :) – DVK
Celui qui a voté ceci, s'il vous plaît le reprendre - il ne fonctionne pas! – DVK
@Kenny - deuxième essai est beaucoup mieux. Vous avez pris l'erreur rapidement. , mais je suis également bloqué sur "quoi s'il n'y a pas de doublons en amont" – DVK