ログファイルからいくつかのパターンを抽出しようとしていますが、正しく印刷できません。ログ文字列のPerl Regex - 条件付き正規表現を印刷します
例:
1) sequence_history/buckets/FPJ.INV_DOM_16_PRD.47269.2644?startid=2644000&endid=2644666
2) sequence_history/buckets/FPJ.INV_DOM_16_PRD.41987.9616
私は3つの事を抽出したい:
A = "FPJ.INV_DOM_16_PRD" B = "47269" C = 9616または2644666(もしライン はその後、他= 2644666 Cをendidたことだ9616)
ログ行するか、1型または2私はAとBを抽出することができるが、私が必要と私はCで立ち往生していますであることそのための条件付きのステートメントと私は適切にそれを抽出することはできません。コードを貼り付けています:
my $string='/sequence_history/buckets/FPJ.INV_DOM_16_PRD.47269.2644?startid=2644000&endid=2644666';
if ($string =~ /sequence_history\/buckets\/(.*)/){
my $line = $1;
print "$line\n";
if($line =~ /(FPJ.*PRD)\.(\d*)\./){
my $topic_type_string = $1;
my $topic_id = $2;
print "$1\n$2\n";
}
if($string =~ /(?(?=endid=)\d*$)/){
# how to print match pattern here?
print "match\n";
}
ありがとうございます!
このようなものは、https://regex101.com/r/T6QDMh/1/ですか? – revo