私がクリーニングしようとしているCSVファイルがあり、その一部が値の中のHTMLタグを削除しています。私はこの解決策を見つけた:sed -e 's/<[^>]*>//g' file.html
これはthreadから来た。sedまたはperlでRegexが改行を取得しない
これを試す前に、RegExrを使って正規表現(/<[^>]*>/g
)をテストしました。私は私のテキストサンプルとして、以下を使用:RegExrオン
<asd>
<asd>
< asdsad
adsad >
、すべての3つのタグは、すなわち私がが残ってる、私はタグを削除するsedコマンドを使用する場合、第三のタグが残っている、しかし、一致しています:
< asdsad
adsad >
私はclass="some-class-name"
のように、引用符で属性を持ち、それらの引用符はCSVフォーマットをいじりしている私はきれいにしようとしていCSVのタグのように多く、同様に複数行のタグを削除できるようにする必要があります。
私はPerlコマンドを試しました。Perlはより良いマルチライン処理を行うはずです。私はperl -pe 's/<[^>]*>//g' file
を試しましたが、sedと同じ結果でした。
EDIT:Regexエンジン(RegExr)が別のもの(sedとPerl)と異なるエンティティをキャプチャしていた理由と、他の人が最初の結果を表示する方法を知りました。 possible duplicateの答えは私の問題を解決するために起こったが、質問は別の(しかし同様の)場所から来た。
http://search.cpan.org/dist/HTML-Strip/Strip.pm – xxfelixxx