정규식 표현
- ^ : 문자열의 시작을 의미 또는 not
- $ : 문자열의 끝을 의미
- | : or
- * : 0회 이상 반복
- + : 1회 이상 반복
- ? : 0회 또는 1회 반복
- [] : 문자열의 집합
예시
[abc] : a또는 b또는 c중 하나
[a-z] : a부터 z까지
[^a] : a를 제외한 모든 문자 - () : 어떤 정규식을 하나의 그룹으로 묶음
- {n} : 앞의 문자가 n회 반복
- {m,n} : 앞의 문자가 m회 이상 n회 반복
- {m,} : 앞의 문자가 m회 이상 반복
- \w : 문자+숫자(alphanumeric)와 매치, [a-zA-Z0-9_]와 동일한 표현식이다.
- \W : 문자+숫자(alphanumeric)가 아닌 문자와 매치, [^a-zA-Z0-9_]와 동일한 표현식이다.
- \d : 숫자와 매치, [0-9]와 동일한 표현식이다.
- \D : 숫자가 아닌 것과 매치, [^0-9]와 동일한 표현식이다.
- \b : 단어의 시작과 끝에 존재하는 공백
- \B : 단어의 시작과 끝 외에 존재하는 공백
- . : 줄바꿈 문자인 \n을 제외한 모든 문자와 매치됨을 의미한다. (ex. a.b)
re.sub(정규 표현식, 대상 문자열 , 치환 문자)
정규 표현식 - 검색 패턴을 지정
대상 문자열 - 검색 대상이 되는 문자열
치환 문자 - 변경하고 싶은 문자
re.sub('apple|orange', 'fruit', 'apple box orange tree') # apple 또는 orange를 fruit로 바꿈
'fruit box fruit tree'
re.sub('[0-9]+', 'n', '1 2 Fizz 4 Buzz Fizz 7 8') # 숫자만 찾아서 n으로 바꿈
'n n Fizz n Buzz Fizz n n'
def multiple10(m): # 매개변수로 매치 객체를 받음
n = int(m.group()) # 매칭된 문자열을 가져와서 정수로 변환
return str(n * 10) # 숫자에 10을 곱한 뒤 문자열로 변환해서 반환
re.sub('[0-9]+', multiple10, '1 2 Fizz 4 Buzz Fizz 7 8')
# 답 : '10 20 Fizz 40 Buzz Fizz 70 80'
'Python' 카테고리의 다른 글
파이썬[Python] 문자열 변경(replace) (0) | 2022.07.04 |
---|---|
파이썬[Python] 알파벳, 숫자가 사용되었는지 확인하기(isalpha, isdigit, isnum) (0) | 2022.07.04 |