SORU
21 ŞUBAT 2010, Pazar


Nasıl Perl ile bir dizide düzenli yakalar saklayabilir miyim?

Perl düzenli kullanmaya çalışıyorum. Merak ediyordum ne varsa, bir dizi ifadeye uyan tüm saklamak mümkün olmadığını? Aşağıdaki kullanabilirim biliyorum: ($1,...,$n) = m/expr/g; ama bu sadece eğer aradığınız eşleşme sayısını biliyorsanız kullanılabilir gibi görünüyor. my @array = m/expr/g; denedim ama çalışmak için görünmüyor.

Yardımlarınız için teşekkürler!

CEVAP
21 ŞUBAT 2010, Pazar


Eğer küresel bir Maç (/g) yapıyorsan listesi bağlamda düzenli çekilen tüm eşleri dönecektir. Sadece yapın:

my @matches = ( $str =~ /pa(tt)ern/g )

Örneğin: bu komut

perl -le '@m = ( "foo12gfd2bgbg654" =~ /(\d )/g ); print for @m'

Verdiği çıktı:

12
2
654

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Morrison

    Jonathan Mor

    24 Mart 2010
  • Project Mooncircle

    Project Moon

    6 Aralık 2009
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011