2017-05-05 4 views
0

次のテキストがあります。正規表現:特定のテキストの前後に最初の一致パターンを削除します

<span style="color:#FF0000;">赤色</span><span style="color:#0;">|*|</span><span style="color:#0070C0;">青色</span><span style="color:#0;">|*|</span><span style="color:#00B050;">緑色</span><span style="color:#0;">|*|</span> 

"| * |"の色を定義するスパンタグを削除する必要があります。のみ。誰もがそれを行うのを助けることができ、この場合には、私は

<span style="color:#0;"> 

</span> 

を削除する必要がありますか?

ありがとうございます!

+0

試しましたか?どの言語を使用していますか? –

+0

私は.netを使用しています。私は3つのキャプチャグループでそれらを一致させようとし、中間のものを非キャプチャにしました。 ( eric

答えて

1

あなたはこのような何かしたい:

<span[^>]+style="[^"]*color:[^>]+>(\|\*\|)<\/span> 

これは、その後、その後color:が含まれているstyle属性、タグの後、残りの部分、|*|、そして、一つ以上の非>文字、その後、<spanに一致するを</span>

$1または|*|と置き換えます。

Here's a demo.

注:お使いの試みがうまくいかなかった理由の一つは、あなたが| sのエスケープということではなく、**\*としてエスケープする必要があります。

関連する問題