我有以下字符串:如何解析這個特定的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