次のような文字列があります。
This <span class="highlight">is</span> a very "nice" day!
タグ内の引用符を見つけるために、VB の正規表現パターンはどのように見えるべきですか? 何かと交換したい…
This <span class=^highlight^>is</span> a very "nice" day!
<(")[^>]+> のようなものは機能しません:(
ありがとう
正規表現のフレーバーによって異なりますが、これはほとんどの正規表現で機能します。
"(?=[^<]*>)
編集:これがどのように機能するのか知りたい人のために。これは、「次の < の前に > が続く引用符を見つける」と英語に翻訳されます。
正規表現は、HTMLの解析が根本的に苦手です (その理由については、正規表現を使用して XML と HTML を解析するのが難しい理由の例をいくつか提供できますか? を参照してください)。必要なのは HTML パーサーです。お気に入りのパーサーで HTML を解析する例を教えてください。たとえば、さまざまなパーサーを使用しています。
VB.net を使用している場合は、HTMLAgilityPackを使用できるはずです。
これを試して:<span class="([^"]+?)?">
これにより、タグの最初の属性値が取得されます。
<[^">]+"(?<value>[^"]*)"[^>]*>
タグ内のすべての引用符を置き換える場合は、次の正規表現を使用できます。
(<[^>"]*)(")([^>]*>)
これにより、引用符の前後の部分文字列が分離されます。これは、開始引用符と終了引用符を一致させようとしないことに注意してください。タグ内の引用符に単純に一致します。