我有这个文字字符串
<div><div>Content</div><div><span>Searching</span></div></div>
我正在搜索其中包含文字div
的{{1}}标记。所以我需要匹配
Searching
我得到的最近的是
<div><span>Searching</span></div>
但它匹配第一个<div>(.*?)Searching(.*?)<\/div>
,结果是
div
答案 0 :(得分:0)
答案 1 :(得分:0)
你应该试试X-path, 如果这个问题放在Perl上,那么我肯定会帮助你,但我会给你Perl代码可能对你有帮助
use XML::XPath;
use XML::XPath::XMLParser;
my $dir = 'd:/00Tools/Testing/gui'; #set any dir path
foreach my $grep_file (glob("$dir/*.htm")) # get all .htm file inside folder
{
my $xp = XML::XPath->new(filename => $grep_file);
my $nodeset = $xp->find('/html/body/div//div/span'); # find span in this situation
foreach my $node ($nodeset->get_nodelist)
{
my $final_th_node = XML::XPath::XMLParser::as_string($node);
if ($final_th_node =~ /<span>Searching<\/span>/) #test our conditon
{
print "true";
}
else
{
print "false";
}
}
}