
初めての質問で初歩的なことですみません。
どうぞご教示ください。
1000行以上のテキストデータ(htmlのソース)に
100行ほどのhttpではじまるURLがあります。
このURL以外を消したいのです。
テキストエディターの正規表現の否定になると思ったのですが
で何度やってもうまくいきません。。。。
どうぞ宜しくお願いいたします。
--------------------------
<サンプル(テキストエディターにて)>
aaaaaaa
b121212
ccc
http........................................... ←これだけを残したい
xxxxxxxxxxxxxxxx123123
y45646
z78979
http........................................... ←これだけを残したい
・
・
・
--------------------------
No.6ベストアンサー
- 回答日時:
EmEditorは、UNIX系のPOSIXより拡張されたPerl並みの正規表現がそのまま利用できますから、その手法で行くと、特殊な手法は必要なくごく普通に
検索する文字列
^(?!http:)[^\n]*\n
置換する文字列
は記入しない
で置換できるはずです。
POSIX系の正規表現が扱えるテキストエディタでしたら、
ありがとうございます。できました!!!!
なかなか手持ちのアプリケーションでできなくて、いろんなフリーソフトを
昨夜山のようにDLしましたが、さっぱりできず途方にくれていました。。。
これで今日の作業が朝から叶います!!!本当に感謝します!!
みなさんに感謝いたしますが、
私の手持ちのEmEditorでご回答いただきましたORUKA1951様をベストアンサーとさせていただきます。
本当にありがとうございました。
No.5
- 回答日時:
>『vivi』と『Em-editor』
いや~、あいにく両方共まったく見たことも触ったこともないので何とも…。自分はもう10年来、テキスト系は『秀丸』オンリーの環境なので。
ただエディタが環境が変わっても正規表現は変わらないと思うので、前述の例文で通らなければ、何かそちらの環境のみの特殊な事情があるのかな?もしかしてUNIX系?だとしたら自分にはお手上げです。
あ、もしかしたら例文の正規表現の文末の「\n」を削れば通るかも?
P.S.
ここの解説によれば少なくとも『Em-editor』には正規表現で否定マッチが可能みたいなので、
>http://jp.emeditor.com/help/howto/search/search_ …
…何か色々やれば出来るとは思うんですが。
P.P.S.
何人かの回答者が提示してる様に、perlとかphpみたいなテキストを直に弄れる系の環境が走ってるのなら。そっちを利用した方が、特に項目数やファイル数が多い場合は便利かと思います。エディタ系内蔵の正規表現だと、何かと制限が付いてる場合も多いので。
他には自分も『秀丸』でよく使うイカサマ手法ですが。1回の置換で全てをやろうと思わない事。2回~3回に分けて、段階的に置換処理を適用させて、最終的に自分の欲しい結果にする方法です。
再度のご回答本当にありがとうございます。
大変お手数おかけして、感謝するばかりです。
はい、頂いた例文をもとに
>例文の正規表現の文末の「\n」を削れば通るかも?
も試してみたのですが、同じメッセージがでてしまいました。
Webで調べつつ頂いた例文を解読改良しながら試してみたのですが
私の能力では無理でした。。情けない。。
今後に向けて正規表現ももっと勉強しなくてはいけませんね。
お話本当に勉強になりました。
心より感謝申し上げます。ありがとうございました。
No.4
- 回答日時:
コマンドプロンプトで、
findstr /b http 入力ファイル >出力ファイル
No.3
- 回答日時:
SED(steam editor)の仕事だと思いますが、perlだと配列に読み込んで
open(IN,"in.txt");
open(OUT,"out.txt");
while(<IN>) {
if(m#^http://#){
print OUT $_;
}
}
close(IN);
close(OUT);
SEDだと、
sed -n -e '/^http:/p' /out.txt | more
で数万行あっても一瞬で終わる。
ありがとうございます!
Sed未経験でしてフリーのソフトをDLしたりしてみたのですが
windows8に合うものがなく、実現できませんでした。。
今度触れる機会がありましたら、やってみたいと思います。
勉強になりました。
丁寧なご回答ありがとうございました。
No.2
- 回答日時:
正規表現で否定マッチさせるのなら、
^(?!http).+\n
~これで「行頭がhttpで始まる以外の文字列」にマッチすると思われ…。つまりこれでマッチした文字列を削除すれば、後にはhttp~だけが残る…はず?
この回答への補足
早速ありがとうございます。
早速試してみたのですが、うまくいきませんでした。。
「検索文字列が無効です」と出てしまいます。
きっと4017Bさんの環境ではうまくいくのですよね。すみません。。
お使いのテキストエディターを宜しければ教えていただけないでしょうか?
私はフリーのテキストエディタのviviとEm-editorを使っております。
ご面倒おかけいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で、特定の文字列を含...
-
バッチファイルの処理が実際の...
-
csvデータのダブルクォーテーシ...
-
TeraPadエディターの操作方法に...
-
特定の列のみ置換を行いたい
-
テキストボックスの文字列を置...
-
秀丸で、ダブルクォーテーショ...
-
スペースで区切られた氏名から...
-
Excel VBA リストに一致したデ...
-
正規表現 特定の文字列を含む行...
-
秀丸の正規表現を使って置換
-
秀丸エディタで、行の後ろに倍...
-
フォントの色を保持したままセ...
-
VBA 文字に半角が含まれて...
-
住宅にカナを入力する際に丁目...
-
英数字のみ全角から半角に変換
-
【VBA】エクセルで値のみクリッ...
-
数字が全角、コンマなし
-
C#でcsvファイルの列を入れ替え...
-
3桁ごと?4桁ごと?コンマの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正規表現で、特定の文字列を含...
-
VBA 置換文字がみつからない時
-
各項目がダブルクォーテーショ...
-
csvデータのダブルクォーテーシ...
-
xmlファイル内の文字列置換
-
csvデータ ダブルクォーテ...
-
Excel・ユーザーフォームの情報...
-
Eclipse 改行後のタブ
-
正規表現 特定の文字列を含む行...
-
C言語でテキストファイルの内容...
-
フォントの色を保持したままセ...
-
ハングルを日本語に置換
-
EXCEL VBA でCTRL+Fのダイア...
-
秀丸エディタで、「-」や「ー」...
-
C#で空白行を削除する方法
-
スペースで区切られた氏名から...
-
EXCELマクロを用いてグラフの系...
-
ダブルコーテーション 、"を二...
-
EXCEL警告「置換対象のデータが...
-
テキストボックスの文字列を置...
おすすめ情報