Im essayant d'extraire les identités des utilisateurs à partir d'une carte à puce, et je dois correspondre à ce modèle: CN=LAST.FIRST.MIDDLE.0000000000
Et ce résultat ont retourné: FIRST.LAST
Ce serait facile si normalement je faisais dans mon propre code:
# python example
string = 'CN=LAST.FIRST.MIDDLE.000000000'
pattern = 'CN=(\w+)\.(\w+)\.'
match = regex.search(pattern, string)
parsedResult = match.groups()[1] + '.' + match.groups()[0]
Malheureusement, je suis correspondant à un motif en utilisant le formulaire web de Keycloaks X.509 . Je suis limité à l' aide d'une seule expression régulière, et l'expression régulière ne peut contenir un groupe de capture. Ceci est un formulaire HTML donc il n'y a pas de code réel utilisé ici, une seule expression régulière.
Il semble que je dois avoir sous capturer des groupes, et renvoyer le deuxième groupe apparié d'abord, puis le premier groupe apparié, le tout dans le principal groupe de capture. Est-il possible quelque chose comme ça à faire?
De plus, je suppose que nous sommes limités à ce que les caractéristiques sont prises en charge par Java, car c'est ce que les pistes app sur.
Je ne pense pas que ce soit possible avec un seul groupe de capture. Si je lis correctement la documentation de keycloak, le groupe de capture est en fait le résultat de l'expression régulière. Donc, vous pouvez correspondre première ou la dernière ou les deux dans l'ordre original, mais pas Réorganiser.