正規表現検索の目的は、C++ヘッダーファイルからすべてのテンプレートクラスインスタンスを決定することです。検索が文字列にファイル全体をロードすることによって行われるPerl正規表現のマッチから複数のメモリを取得するにはどうすればよいですか?
CMyClass<int> myClassInstance;
CMyClass2<
int,
int
> myClass2Instacen;
:
open(FILE, $file);
$string = join('',<FILE>);
close(FILE);
および次の正規表現は、場合でも、クラスのインスタンスを決定するために使用されるクラスのインスタンスは、次のようなformartedすることができます
$search_string = "\s*\w[^typename].*<(\s*\w\s*,?\n?)*)>\s*\w+.*";
$string =~ m/$search_string/;
問題は、検索がより多くのクラスのインスタンスがファイルに存在するだけにもかかわらず、1本のヒットを返すことです:クラスのインスタンスは、文字列でもっとして1行にまたがります。
regex backreferences変数の1つからこのアプローチを使用してすべてのヒットを得ることは可能ですか?
セクションへの直接リンク:http://perldoc.perl.org/perlfaq6.html#What-good-is-%27\G%27-in-a-regular-expression%3f –