0
DESCR: "10GE SR" 

残りの文字列の一部である上記の部分と一致させる必要があります。Perlで正規表現を使用しています。私は試した

if ($line =~ /DESCR: \"([a-zA-Z0-9)\"/) { 
   print "$1\n";
}

しかし、文字列内のスペースを考慮する方法を理解できません。これらのスペースは、引用符内のどこにでも発生する可能性があります。誰かが私を助けることができますか?

4

3 に答える 3

2
$str = 'DESCR: "10GE SR"';

if ($str =~ /DESCR: \"([a-zA-Z0-9\s]+)\"/) { 
    print "$1\n";
}
于 2012-08-01T06:17:24.360 に答える
0

それはもっと簡単かもしれません:

if ( $line =~ /DESCR: "([^"]+)"/ ) { 
   print "$1\n";
}
于 2012-08-01T07:49:06.203 に答える
0

見てください、このパターンは文字列内の二重引用符に一致します:

if ($line =~ /DESCR: \"((?:[^\\"]|\\.)*)\"/) { 
   print "$1\n";
}
于 2012-08-01T06:25:09.220 に答える