9
votes

Regex pour la couverture de test Gitlab CI analyse

J'ai eu du mal à trouver une expression régulière qui fonctionnera dans la page "Couverture de test" sur la page "CI / CD Pipelines". Cela n'aide pas que les exemples montrent des exemples incohérents, c'est-à-dire une parenthèse d'évacuation et d'autres non, même avec des symboles de pourcentage, certains capturent le résultat explicite dans 1 $ , etc., voici mon texte - Quelle est la regex?

badge CI: xxx

texte de sortie: xxx

essayé jusqu'à présent: (ajouté Les gonflements simplement pour représenter l'espace à l'avant ou à la regex) xxx


0 commentaires

3 Réponses :


1
votes

Cette regex devrait saisir la couverture des blocs: xxx pré>

Si vous souhaitez saisir la couverture de la ligne, utilisez ceci: P>

^\s*(\d+(?:\.\d+)?%)\s*lines


5 commentaires

Je pense que vous pouvez l'améliorer un peu en le rendant légèrement plus flexible - correspond à n'importe quel espace blanche au lieu d'espaces, rendez-vous facultatif (les "blocs" ou "lignes" ou "lignes" sont ce qui compte), échapper au dot décimal et le pourcentage de correspondance affichés Sans chiffres décimaux. Rubular.com/7m5z48Jrcq


@TMT J'ai mis à jour ma réponse pour utiliser certaines de vos suggestions.


Cette regex n'a pas fonctionné pour moi. Spécifiquement ce qui est censé être capturé? Si ce sera la décimale, c'est-à-dire "10,01", ou le pourcentage, c'est-à-dire "10,01%" ou quelque chose de plus? La regex fournie par @brokenbinary a plusieurs captures.


Il devrait capturer le nombre décimal et le signe pourcentage, 10,01% ou un nombre entier et le signe de pourcentage, 95% .


En outre, il n'a qu'un groupe de capture. Le groupe (?:) est un groupe non capturant, comme indiqué par le ?: au début de celui-ci.



1
votes

Le problème était que la question URL de couverture "? Job = couverture" était incorrecte. Quant à la regex, j'ai utilisé: xxx


0 commentaires

6
votes

Il existe une page Web de Ruby Regex utile.

http://www.rubular.com/

Je n'ai pas trouvé pour moi avec ma couverture de code Gitlab. Je pense que c'est parce qu'il semble y avoir un bogue enregistré pour un problème de regex dans Gitlab. https://gitlab.com/gitlab-org/gitlab-ce/issues/21495

 Entrez la description de l'image ici


0 commentaires