1

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

例:

<meta name="stack" />

属性name="stack"を持つメタ要素に、次のように属性を追加したいと思います。

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

また、一致と置換のためのいくつかのC#コードが役立ちます。

入力のxmlの形式が正しくないため、XmlDocumentまたはHtmlAgilityPackを使用できません。

ありがとう。

4

2 に答える 2

2

次の正規表現から始めます...

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

そして、に置き換えます...

$0 value="overflow"

$0置換文字列のinは、一致全体を表します。value="overflow"次に、その最後に追加するだけです。

これが実際の例です...

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

Regex Heroの上部にある[.NET]ボタンをクリックするだけで、このための.NETコードが表示されます。または、ここに簡略化されたバージョンがあります...

return Regex.Replace(text, @"<meta[^>]+name=""stack""", @"$0 value=""overflow""");
于 2012-04-18T18:41:46.307 に答える
2
(<\s*meta\s+name\s*=\s*"stack")(\s*/>)

と置換する

$1 value="overflow" $2
于 2012-04-18T18:46:00.143 に答える