2012-04-18 20 views
1

特定の値を持つ属性を持つ要素に属性を追加する正規表現を探しています。特定の値を持つ属性を持つ要素に属性を追加する

などのため

:私はそれが

また
<meta name="stack" value="overflow" /> 

いくつかのC#のコードのように見えるだろうというような属性名=「スタック」を持つmeta要素に属性を追加する

<meta name="stack" /> 

マッチと置換が役立つでしょう。

入力時に不正なXMLが原因でXmlDocumentまたはHtmlAgilityPackを使用できません。

ありがとうございました。次の正規表現で

+0

痛いと交換してください。属性を追加することは正規表現では簡単ではなく、何らかのパーサーで実際に行うべきです。正規表現以外のオプションがないと確信していますか?それはかなり毛深くなるかもしれません。 :/ – Wiseguy

答えて

2
(<\s*meta\s+name\s*=\s*"stack")(\s*/>) 

$1 value="overflow" $2 
+0

+0

(<\ s * meta \ s +(。*) ?)name \ s * = \ s * "stack")(\ s * />)は動作します –

2

スタート...

<meta[^>]+name="stack" 

そしてと交換...

$0 value="overflow" 

置き換える文字列に$0はマッチ全体を表しています。次に、その最後にvalue="overflow"を追加するだけです。

はここ

http://regexhero.net/tester/?id=586c2040-8700-4ea2-a146-1477ca1bcb62

はちょうどこのため、.NETコードを見るために正規表現ヒーローの上部にある「.NET」ボタンをクリックしてください...作業例です。または、ここ簡易版だ...

return Regex.Replace(text, @"<meta[^>]+name=""stack""", @"$0 value=""overflow"""); 
関連する問題