Je suis un programmeur débutant essayant d'analyser un fichier HTML dans une esquisse de traitement. (Incidemment, si vous ne connaissez pas le traitement, il se compile en Java et utilise les mêmes fonctions regex). J'ai correctement capturé le fichier HTML en tant que chaîne unique en utilisant SimpleML. Les données que je suis en train de capturer provient d'une table, comme ceci:Aide avec regex dans une esquisse de traitement?
<th>Name</th>
<th>John F. Kennedy</th>
<th>Lyndon Johnson</th>
<th>Richard Nixon</th>
etc.
Je veux analyser les noms des candidats dans un tableau (laissant tomber le « nom »).
donc j'ai essayé
candidates = match(rawString,"<th>.*</th>");
qui retourne toute la liste.
Alors j'ai essayé
candidates = match(rawString,"<th>.{1,50}</th>");
qui retourne seulement
<th>Name</th>
La documentation de traitement dit:
S'il y a des groupes (spécifiés par des ensembles de parenthèses) dans l'expression rationnelle, alors le contenu de chacun sera retourné dans le tableau. L'élément [0] d'une correspondance d'expression rationnelle renvoie l'ensemble de la chaîne correspondante, et les groupes de correspondance commencent à l'élément [1] (le premier groupe est [1], le second [2], etc.).
Alors maintenant, j'ai essayé différentes combinaisons de groupes et quantificateurs, comme:
candidates = match(rawString,"(<th>.{1,50}</th>)*");
Mais il doit y avoir une pièce conceptuelle Je ne reçois pas, parce que rien ne fonctionne. On dirait que ça devrait être facile, non?
contreventement anti-regex-et-html foule –