Dans PowerShell je me retrouve à faire ce genre de chose encore et encore pour les matchs:Existe-t-il un moyen plus court de sortir des groupes d'une regex de Powershell?
some-command | select-string '^(//[^#]*)' |
%{some-other-command $_.matches[0].groups[1].value}
Donc, fondamentalement, - exécuter une commande qui génère des lignes de texte, et pour chaque ligne que je veux exécuter une commande sur un regex capture à l'intérieur de la ligne (si elle correspond). Semble vraiment simple. Les travaux ci-dessus, mais y at-il un moyen plus court de retirer ces groupes de capture regex? Perl avait 1 $ et ainsi de suite, si je me souviens bien. Posh doit avoir quelque chose de similaire, non? J'ai vu des références "$ matches" sur SO, mais je n'arrive pas à comprendre ce qui fait que ça se passe. Je suis très nouveau à PowerShell btw, j'ai juste commencé à apprendre.
Hein? Il correspond à une ligne qui commence par double-barre oblique (//) et qui correspond avec avidité jusqu'à (mais excluant) le premier hachage (#). Il n'y a pas de marqueur de fin de ligne, donc il ne correspond pas spécifiquement à la ligne entière. –
Ouais, c'est le genre de chose que je cherchais. Merci pour l'édition, Bas. – scobi