Perlで解析しているデータがいくつかあり、近い将来、さまざまな形式のデータを追加する予定です。私がやりたいのは、文字列と正規表現を渡すことができる使いやすい関数を作成することです。これにより、括弧内に何でも返されます。これは次のように機能します(擬似コード):
sub parse {
$data = shift;
$regex = shift;
$data =~ eval ("m/$regex/")
foreach $x ($1...$n)
{
push (@ra, $x);
}
return \@ra;
}
次に、私はそれを次のように呼ぶことができます:
@subs = parse ($data, '^"([0-9]+)",([^:]*):(\W+):([A-Z]{3}[0-9]{5}),ID=([0-9]+)');
ご覧のとおり、このコードにはいくつかの問題があります。evalが機能するかどうかはわかりませんが、「foreach」は間違いなく機能しません。また、括弧がいくつあるかを知らなければ、ループする回数もわかりません。
これは分割するには複雑すぎるので、私が見落としている別の機能や可能性がある場合は、私に知らせてください。
ご協力いただきありがとうございます!