for ($i=0; $i<10; $i++)
{
my $v1 = $sel->get_text("//body[\@id='ext-gen3']/div[10]/div[2]/div/div/div/div/div/div/div/div/div/div[2]/div/**div**/table/tbody/tr/td/div/div");
my $v2 = $sel->get_text("//body[@\id='ext-gen3']/div[10]/div[2]/div/div/div/div/div/div/div/div/div/div[2]/div/**div**/table/tbody/tr/td[2]/div/div")
print ($v1 . $v2);
}
反復ごとに、14番目の要素を見つけてdiv[10]
、増加したdiv[ ]
要素に置き換える必要があります(例:14番目の要素がの場合はdiv
、に置き換えdiv[2]
ます。次の反復では、14番目の要素を見つけます。つまり、div[2]
&に置き換えますdiv[3]
)。
PATTERNマッチングを使用することにより、それはできません。その特定の要素を見つけて置き換えるために正規表現を使用する方法はありますか?どうすればいいですか?
my $a = "//body[\@id='ext-gen3']/div[10]/div[2]/div/div/div/div/div/div/div/div/div/div[2]/div/**div**/table/tbody/tr/td/div/div";
my @arr = split ('/' , $a);
print "@arr \n";
my $size1 = @arr;
print "$size1\n";
print $arr[16];
foreach my $a2 (@arr)
{
print "$a2 \n";
}
my $b = "//body[\@id='ext-gen3']/div[10]/div[2]/div/div/div/div/div/div/div/div/div/div[2]/div/**div**/table/tbody/tr/td[2]/div/div";
上記の質問でv1とv2($aと$bとして編集)として言及されている2つの変数では、変更を両方に適用する必要があります。私はあなたが言ったことにほとんど近いと思います。よろしくお願いします