Regex 如何在Wordpress/Autoblogged中使用正则表达式查找此div?
如何使用regex找到以下Regex 如何在Wordpress/Autoblogged中使用正则表达式查找此div?,regex,wordpress,autoblogged,Regex,Wordpress,Autoblogged,如何使用regex找到以下div?URL和图像位置将根据帖子URL不断变化,因此我需要使用通配符 我必须使用正则表达式,因为我使用的软件限制了我的使用: 我试着用 <div class="tweetmeme_button" style="float: right; margin-left: 10px;">.*<\/div> * 使用HTML解析器解析HTML 或者在许多其他方面 例如: #/usr/bin/env perl 严格使用; 使用警告; 使用HTML::T
div
?URL和图像位置将根据帖子URL不断变化,因此我需要使用通配符
我必须使用正则表达式,因为我使用的软件限制了我的使用:
我试着用
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">.*<\/div>
*
使用HTML解析器解析HTML
或者在许多其他方面
例如:
#/usr/bin/env perl
严格使用;
使用警告;
使用HTML::TokeParser::Simple;
my$parser=HTML::TokeParser::Simple->new(…);
while(my$div=$parser->get_标记){
下一步除非$div->is_start_标记('div');
{
没有“未初始化”的警告;
下一步除非$div->get_attr('class')eq'tweetmeme_button';
下一步除非$div->get_attr('style')eq'float:right;margin left:10px;'
#现在做你想做的,直到下一天
}
}
使用正则表达式处理HTML是个坏主意。我正在使用HTML::TreeBuilder::XPath实现这一点
use strict;
use warnings;
use HTML::TreeBuilder::XPath;
use WWW::Mechanize;
my $mech = WWW::Mechanize->new();
$mech->get("http://www.someURL.com");
my $tree = HTML::TreeBuilder::XPath->new_from_content( $mech->content() );
my $div = $tree->findnodes( '//div[@class="tweetmeme_button"]')->[0];
感谢您的快速响应,但是由于我使用的软件程序,我必须使用正则表达式。如果您正在使用wordpress插件,那么这不是一个Perl问题(这就是为什么使用Perl HTML解析器的答案不适用于您)。-1声明您的正则表达式问题是一个Perl问题。
#!/usr/bin/env perl
use strict;
use warnings;
use HTML::TokeParser::Simple;
my $parser = HTML::TokeParser::Simple->new( ... );
while (my $div = $parser->get_tag) {
next unless $div->is_start_tag('div');
{
no warnings 'uninitialized';
next unless $div->get_attr('class') eq 'tweetmeme_button';
next unless $div->get_attr('style') eq 'float: right; margin-left: 10px;'
# now do what you want until the next </div>
}
}
use strict;
use warnings;
use HTML::TreeBuilder::XPath;
use WWW::Mechanize;
my $mech = WWW::Mechanize->new();
$mech->get("http://www.someURL.com");
my $tree = HTML::TreeBuilder::XPath->new_from_content( $mech->content() );
my $div = $tree->findnodes( '//div[@class="tweetmeme_button"]')->[0];