320x100
import re
# 메타문자
# 메타문자는 특별한 의미를 가진 정규 표현식 문자들이다.
|
()
[]
.
*
+
?
^
$
(?P<이름>)
# 정규표현식 re 사용방법 1
# 문자열 내에 등장하는 패턴의 횟수를 세기
string = 'The quick brown fox jumps over the lazy dog.'
# 공백을 기준으로 string 변수에 담긴 값을 나누어서 list에 담아준다.
string_list = string.split()
# r은 원시문자열 표기법으로써 \, \t, \n같은 특수한 문자들을 따로 처리하지 않도록 한다는 의미다.
# 'The', re.I 는 The 라는 문자에 대해서 대소문자를 가리지 않고 잡아낸다. 라는 뜻이다.
# 즉, re.I 는 앞에 지정된 문자에 대해서 대소문자를 가리지 않고 집어 낸다. 라는 의미를 가지고 있다.
pattern = re.compile(r'The', re.I)
count = 0
# 이를 해석하자면 기본적으로 string_list에는 string에서 공백을 기준으로 split된 9개의 원소가 있다.
# 그것을 순서대로 한개씩 뽑아 내는 거다.
for word in string_list:
# 9개의 string_list에서 1개씩 나올때마다 pattern에 지정해 주었던 조건대로 대소문자에 상관없이 the 를 true값으로 출력한다.
if pattern.search(word):
count += 1
print(word)
print('Output #38: {0:d}'.format(count))
결과값
The
the
Output #38: 2
# 정규표현식 re 사용방법 2
# 문자열 내에서 발견된 패턴 출력하기
string = 'The quick brown fox jumps over the lazy dog.'
string_list = string.split()
pattern = re.compile(r'(?P<match_word>)The', re.I)
print('Output #39:')
for word in string_list:
if pattern.search(word):
print('{:s}'.format(pattern.search(word).group('match_word')))
# 3번째줄의 <match_word>라는 것을 지정해주고,
# 그것을 마지막 줄에서 그룹화 시켜준다는데
# 실질적인 출력은 되지 않고, 이것에 대해선 아직 잘 모르겠다.
결과값
Output #39:
# 문자열 내 'the'를 'a'로 대체하기
string = 'The quickbrown fox jumps over the lazy dog.'
string_to_find = r'The'
pattern = re.compile(string_to_find, re.I)
print('Output #40: {:s}'.format(pattern.sub('a', string)))
결과값
Output #40: a quickbrown fox jumps over a lazy dog.
300x250
'개발일지 > 임시카테고리' 카테고리의 다른 글
machine learning 루틴 2 iris 꽃 외, 리스트, 튜플, dict 전환(순환)원리 (0) | 2022.07.11 |
---|---|
GIT fatal: bad config line 18 in file /users/daniel_choi/.gitconfig (0) | 2022.07.09 |
Python 기본용어 원리 (strip, split, join, upper, lower, capitalize) (0) | 2022.07.08 |
SQL 데이터베이스 데이터 가져오기 (0) | 2022.07.08 |
pymssql 설치에러 해결! (0) | 2022.07.08 |