my @buildno = $mech->xpath('/html/body/form/table/tbody/tr[2]/td[3]/table
/tbody/tr[2]/td/table/tbody/tr[1]/td/table/tbody/tr[1]/td', type =>
$mech->xpathResult('STRING_TYPE'));
i具有上述代码,其中包含一个字符串。我需要捕获以字符串中数组中包含的CSR
开头的单词。只有一个元素@buildno[0]
。我需要保留单词并删除字符串中的所有其他内容。我尝试使用m//
方法,但是它只会返回布尔值,告诉我这个词存在。我还尝试了suttutut s///
的字幕,但是我只能删除我需要保留的单词,我无法找到一种扭转该功能的方法。
编辑我已经设法将字符串分开并将其放入一个新数组中,因此每个单词都是单独的索引。
my $buildno = join('', @buildno);
my @build = split(' ',$buildno);
print @build[1];
我在这种情况下要寻找的单词是数组中的第二个元素,因为它是第二个单词 @build[1]
,但是单词可能并不总是是字符串中的第二个单词,例如,它可能是第四个单词。我的目的是捕获该特定词以供以后使用。
您可以使用m//
将其存储在捕获组中,然后用匹配的组替换整个原始字符串:
do {$_ = $1 if /(?:^|s)(CSRS*)/} foreach @buildno;
演示:https://ideone.com/1l7yjb