我有以下字符串:如何解析这个特定的html?
<span class="ClassName @variable" title="ClassName @variable">Variable Title</span>
“类名”, “变量” & “变量名称” 是paramerters。
现在我想从该句中提取“ClassName”,“variable”和“Variable Title”。我怎样才能做到这一点?
我有以下字符串:如何解析这个特定的html?
<span class="ClassName @variable" title="ClassName @variable">Variable Title</span>
“类名”, “变量” & “变量名称” 是paramerters。
现在我想从该句中提取“ClassName”,“variable”和“Variable Title”。我怎样才能做到这一点?
的Javascript:
var matches = /<span class="(.*)" title="(.*)">(.*)<\/span>/.exec(str);
哪里str
是你的标签。
则...
matches[1]=class
matches[2]=title
matches[3]=tag content
请注意,你应该使用合适的HTML解析器这种事情,而不是正则表达式,但从来没有介意:)
+ 1为额外的提示使用HTML解析器;) – philonous 2011-01-05 10:56:53
@El Ronnoco:你的正则表达式帮助我。谢谢! – 2011-01-06 02:40:10
@philonous:在这种情况下,我只需要解析一个句子,这样我认为使用HTML解析器就太过分了。 – 2011-01-06 02:42:56
这里是一个Perl的解决方案:
#!/usr/bin/perl
use 5.10.1;
use strict;
use warnings;
use Data::Dumper;
my $str = q!<span class="ClassName @variable" title="ClassName @variable">Variable Title</span>!;
my @list = $str =~ m#<span class="(\w+) @(\w+).*?>([\w\s]+)</span>#;
say Dumper \@list;
输出:
$VAR1 = [
'ClassName',
'variable',
'Variable Title'
];
谢谢。但不幸的是,我无法使用Perl来测试正则表达式。 – 2011-01-06 02:41:11
对不起,我有一些问题,防止使用代码标记。 – 2011-01-05 09:48:17
您使用哪种语言来做到这一点? – 2011-01-05 10:02:37
对不起,我使用Java/Groovy。 – 2011-01-06 02:14:09