Come faccio a estrarre i dati tra parentesi quadre che compaiono più volte in una linea utilizzando Perl?

StackOverflow https://stackoverflow.com/questions/4692954

  •  11-10-2019
  •  | 
  •  

Domanda

Ho una linea che containes istanze multiple di dati tra parentesi quadre.

[data 1] junk [data 2] junk,junk [data 3] junk [data 4]

Se uno ha una regex goo? Così posso usare

print $1,$2,$3,$4;

Grazie!

È stato utile?

Soluzione

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;

Altri suggerimenti

Text :: Balanced invece di una regex.

Se tutti la vostra ricerca di un breve stampa, questo dovrebbe farlo ..

$s = q( [data 1] junk [data 2] junk,junk [data 3] junk [data 4] );
print join(', ', @{[$s =~ /\[(.*?)\]/g]}), "\n";

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top