2016-04-12 12 views
-3
<font color="black"> 
<font color="red"> 
<font color="white"> 

の周りのすべてを取得し、私はそれを反転しなければなりません知っています。正規表現は:私は色のattributをキャプチャすることができます<code>color="(.*?)"</code>で<code>color="*"</code></p> <p>の周りのすべてをキャプチャする必要がある文字列

+0

あなたはより具体的なことはできますか? color = "myColor"以外のすべてをキャプチャしますか? –

+0

@MattKellyはい。それでおしまい。 – Wavum

答えて

1

JavaScriptの正規表現(正規表現の味は言語によって異なります)で必要と仮定します。以下のような 何か:

var htmlText = '<font color="black">\n' + 
       '<font color="red">\n' + 
       '<font color="white">'; 
var colorRegEx = /color=["']+([^\"\']*)["']+/ig; 
while(colorRegEx.exec(htmlText)) { 
    console.log(RegExp.$1);  //Should give you: black, red, white 
} 

は、基本的には正規表現は言う:私たちは別の単一または二重引用符が表示されるまで値を取得し、その後、少なくとも1その後、「色=」を探し、単一または二重引用符。

ウェブアプリケーションで何かしているのであれば、おそらくjQueryやその他のJSライブラリを使用して値を取得することをお勧めします。例:

<div id="fred"> 
    <font color="black">Hello</font> 
    <font color="red">I like</font> 
    <font color="white">ice cream</font> 
</div> 

その後、いくつかのjQueryを取得するためにカラー値は次のようになります。

$.each($('#fred').children(), function(index, item) { 
    console.log($(item).prop('color')); 
}); 
+0

すばらしい答え!申し訳ありませんが、私はJava用に必要です。それはJavaでも動作しますか? – Wavum

+0

申し訳ありませんが、Javaの開発者ではありませんので、完全にはわかりませんが、RegExのコアはおそらく使用可能です。私はこれをhttp://fiddle.re/77wtdaにしましたが、実際に試してみるためにJDKを入手しセットアップするのはあまりにも疲れました。 (緑色のJavaボタンをクリックし、[テスト]をクリックします) – icepicker

関連する問題

 関連する問題