2011-01-05 10 views
0

私は次の文字列があります。この特定のhtmlを解析するには?

<span class="ClassName @variable" title="ClassName @variable">Variable Title</span> 

"クラス名は"、 "変数" & "変数タイトルは" paramertersです。

今、私はその文から "ClassName"、 "variable"、 "Variable Title"を抽出したいと思います。どうやってやるの?

+0

申し訳ありませんが、コードタグの使用を妨げるいくつかの問題があります。 –

+4

これを行うにはどの言語を使用していますか? –

+0

申し訳ありませんが、私はJava/Groovyを使用しています。 –

答えて

2

Javascriptを:

var matches = /<span class="(.*)" title="(.*)">(.*)<\/span>/.exec(str); 
strがあなたのタグである

。その後

...あなたが本当に正規表現ではなく、この種のもののために適切なHTMLパーサを使用しますが、ここで:)

+0

HTMLパーザを使用するためのヒントを+1します;) – philonous

+0

@El Ronnoco:あなたの正規表現は私を助けます。ありがとう! –

+0

@philonous:この場合、私はその1つの文を解析する必要があるので、HTMLパーサーを使用することは過度のものだと思うようにします。 –

1

を気にすることはありません

matches[1]=class 
matches[2]=title 
matches[3]=tag content 

注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' 
     ]; 
+0

ありがとうございます。しかし、残念なことに、Perlを使って正規表現をテストすることはできません。 –

関連する問題