- ベストアンサー
正規表現の指定方法を教えてください。
VB.NETなのですが、変数txt内にWebページの ソースを代入して、タグを削除したいのですが、 タグを削除するところまで出来たのですが、 1行以上連続した改行をなくしたいのですが、 どのような書き方をすれば良いでしょうか。 改行をなくす書き方は下のようになると分かったのですが、 1行以上連続した場合の指定の仕方がわからないので、 ご教示頂きたいです。 よろしくおねがいいたします。 txt = System.Text.RegularExpressions.Regex.Replace(txt, "^\n", "")
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
.net Frameworkの場合、 ^や$はデフォルトの設定では行頭、行末ではなく、 文字列の先頭、末尾を表すようです。 そのため、RegexOptionsでMultiLineを指定する必要があります。 また、考え方としては改行コードが2つ以上あれば1つにまとめると考えた方が良いので、以下のように直せばよいと思います。 txt = System.Text.RegularExpressions.Regex.Replace(txt, "\n{2,}", "\n", RegexOptions.Multiline) 参考URL: 根拠はこちら: http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpgenref/html/cpconatomiczero-widthassertions.asp Replaceの使い方はこちら: http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpref/html/frlrfsystemtextregularexpressionsregexclassreplacetopic10.asp
その他の回答 (1)
VBの正規表現はどうだか知らないけど一般的にはこうかも ^[\n]+
お礼
ご回答ありがとうございます。 こちらも参考にさせていただきます。 ありがとうございました。
お礼
ご回答ありがとうございます。 教えて頂いたとおりで実現することができました。 このような書き方になるとはとても思いませんで、 とても助かりました。