Comment puis-je extraire des données entre crochets qui apparaissent plusieurs fois dans une ligne en utilisant perl?
-
11-10-2019 - |
Question
J'ai une ligne qui containes plusieurs instances de données entre crochets.
[data 1] junk [data 2] junk,junk [data 3] junk [data 4]
Est-ce que quelqu'un a une expression régulière goo? Je peux donc utiliser
print $1,$2,$3,$4;
Merci!
La solution
my $s = "[data 1] junk [data 2] junk,junk [data 3] junk [data 4]";
my ($one, $two, $three, $four) = $s =~ /\[([^\]]*)\]/g;
print $one, $two, $three, $four;
Autres conseils
Utilisez au lieu d'une expression régulière.
Si toute votre recherche est une impression rapide, cela devrait le faire ..
$s = q( [data 1] junk [data 2] junk,junk [data 3] junk [data 4] );
print join(', ', @{[$s =~ /\[(.*?)\]/g]}), "\n";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow