Je n'ai pas fait de regex depuis un moment, et je suis un peu rouillé. J'essaye d'analyser les catégories d'une entrée de Wikipedia. Ce dont j'ai besoin, ce sont les cordes individuelles contenues dans un motif qui commence par deux parenthèses ouvertes et se termine par deux parenthèses fermantes.Expression régulière pour les balises imbriquées (contenu Wikimedia)
Cette requête fonctionne la plupart du temps -
(\[\[)(?<category>.*[^\]#])([\]])
mais a des problèmes lorsque les crochets de fermeture ont une virgule (« ») à côté d'eux.
Cela a le résultat regrettable que lors de l'analyse du texte suivant -
nlocation = [[Seattle, Washington]], [[United States|USA]]|
il extrait les éléments suivants pour « catégorie »
Seattle, Washington]], [[United States|USA
De toute évidence, la virgule est de lancer cette large et il est de trouver l'ensemble suivant. Quel est le meilleur moyen de capturer toutes les valeurs entre les doubles crochets ouverts et fermés?
L'un des rares avantages incontestables de xml est que vous n'avez jamais besoin d'utiliser regex pour les analyser ... –
@ THC4k - Je ne sais pas pour vous, mais mon HTML ne ressemble pas à [[Seattle, Washington]], ça ressemble à Seattle, Washington –