급한 분들을 위해 정답부터 일단 작성

 

예시: 파일들이 여러개 있는데 그 중에서 wind라는 글자가 들어가지만 md5라는 글자가 들어가지 않는 파일 목록을 가져오고 싶다.

import re

 

strings = ('windFix.bin', 'windFix.bin.md5', 'windFix2.bin', 'ccccddd.cfg')

p = re.compile('wind.+[^md5]$')

for i in strings:

    m = p.search(i)

    if m:

        print(m.group(0))

 

주목할만한 점

1. ^로 제외하고 싶은 단어를 넣음

2. $로 문자열 끝을 지정

 

그냥 제외만 하고 싶은데요?

'^((?!md5).)*$'

열라 복잡하네

 

여기서 테스트 가능하다 - https://www.regextester.com/15 

 

Match string not containing string - Regex Tester/Debugger

Regex Tester requires a modern browser. Please update your browser to the latest version and try again.

www.regextester.com

 

 

기타 참고 - 파일목록 가져오기

import glob

 

path = 'c:\\fw\\.......'

fileList = glob.glob(path)

for i in fileList:

    print(i)

    #m = p.search(i)

    .....생략

 

기타 참고 2

ooo 혹은 xxx는 필수로 들어가고 zzz는 없어야 한다면?

('wind.+[ooo|xxx][^zzz]$')

 

Posted by 쵸코케키

블로그 이미지
chocokeki
쵸코케키

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함