2011-01-21 10 views
3

웹 사이트의 URL 목록이 큽니다. 예 :특정 문자열이있는 행을 일치시키고 제거하는 방법은 무엇입니까?

/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

이 표현은 문자열 "/ Folder2 폴더가"이 발생하도록 전체 라인을 일치합니다. 될 것이라고 파이썬에서

+0

안녕하세요 -이 Dreamweaver에서 작동하지 않았다. 미안 해요 내가 사용하고있는 프로그램을 지정해야합니다. Dreamweaver에서 정규 표현식이 다를 수 있습니다. –

+0

음 ...해서는 안됩니다. 이것은 일반 바닐라 정규 표현식입니다. 어쩌면 이스케이프 처리되지 않은 두 번째 슬래시가 마음에 들지 않을 것입니다. 이것을 시도하십시오 :'^. + \/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() 
관련 문제