Je sais que Java ne prend pas en charge les raccourcis de longueur variable et de largeur nulle, mais existe-t-il un moyen efficace d'imiter le comportement souhaité ?
Le texte auquel j'applique la regex est quelque chose comme :
blah words blah [tag platform="platform1, platform5" future]Blah Blah blah[/tag] blah more words
Dans la balise d'ouverture, il peut y avoir un nombre quelconque de plates-formes dans la liste, dans n'importe quel ordre, et il y a un nombre fini de valeurs possibles. Le résultat souhaité est d'obtenir le texte entre les balises :
Blah Blah blah
C'est ce que je veux faire pour représenter la liste variable des plateformes :
(?<=\\[tag platform=\\\\\".*?\\\\\" future\\]).*?(?=\\[/tag\\])
Mais bien sûr, une exception est levée avec le message suivant Look-behind group does not have an obvious maximum length
.
J'ai pensé à utiliser une regex pour obtenir la chaîne entière, y compris les balises (ce qui est facile), puis à analyser la chaîne. Mais cela semble un peu trop spécifique et j'aimerais une solution plus sûre.