2011-01-21 9 views
3

私は自分のWebサイトからの巨大なディレクトリリストを持っています。例:特定の文字列を含む行をどのように一致させて削除するか?

/folder/folder2/folder3/page.htm 
/folder/folder2/folder3/page2.htm 
/folder/folder2/folder3/page3.htm 
/folder/folder2/folder3/page4.htm 

私はパスで/folder2を持っているすべての項目のリストをきれいにしたいです。 /folder2/を使用しているすべてのものを検索して置換し、それらの行を私のリストから削除するには、正規表現が必要です。だから、それを空白で置き換える。

誰かがこれについて正しい正規表現が何であるか知っていますか?私はDreamweaverをエディタとして使用していますが、別の正規表現を使用している可能性があります。

^.+?\/folder2/.+$ 

HTH:

答えて

7

この表現は、文字列「/フォルダ2」は、その中に起こるように全体のラインと一致します。

だろうPythonで
+0

こんにちは - これは、Dreamweaverで動作しませんでした。申し訳ありませんが私は使用しているプログラムが指定されている必要があります。 Dreamweaverでは正規表現が異なる場合がありますか? –

+0

うーん...すべきではない。これはプレーンバニラの正規表現です。おそらく、それはエスケープされていない2番目のフォワードスラッシュが好きではないかもしれません。これを試してください: '^。+ \/folder2 \ /.+$'。 –

+0

それには何もありません。私は "正規表現を使用する"ボックスもチェックしているので、一致するものが見つからないだけです。 –

0

import re 
regex = re.compile('.*/folder2/.*') 
f = open("filtered_file.txt", "w") 
map(lambda x: f.write(x), filter(lambda x: not regex.match(x), open("input.txt"))) 
f.close() 
関連する問題