Salut,
1. Bienvenue dans le monde des regexp; pour t'aider à traverser les terres de ce langage hostile, prend grand soin de l'aide mémoire, et lis cette page de l'indispensable regular-expressions.info.
La solution à ton problème se nomme "Negative lookbehind" et y est détaillée. Mais le problème est que c'est pas (encore?) supporté par Qt... Donc, le workaround à appliquer est: lorsque le texte est matché, tu vérifies si le caractère précédent est un ';'. S'il ne l'est pas, c'est bon, sinon, tu t'arrêtes là.
2. L'exemple dont tu reprends le code fait à 1 variable près ce qu'il te faut. Indice, c'est dans cette ligne:
setFormat(index, length, rule.format);
Partager