[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🛠 기타/Data & AI

파이썬 정규표현식 - 그룹 만들기

inu 2020. 7. 14. 22:37
반응형

정규표현식 그룹

import re

list_c = ['코끼리는 코끼리', '강아지는 강아지', '고양이는 고양이']
p = re.compile(r'(?P<name>.+).\s\1')

for i in list_c:
    print(p.match(i).group('name'))
==결과==
코끼리
강아지
고양이
  • 특정구간을 ()로 묶어 그룹으로 만들 수 있다.
  • 그렇게 묶인 group은 순서대로 번호가 메겨져 .group(n)으로 뽑을 수 있다.
  • 그룹을 만들때 제일 앞에 ?P<그룹이름>을 넣어 그룹 이름을 부여할 수도 있다.
  • 그렇게하면 .group('그룹이름')으로 뽑을 수 있다.

예제

Q. ['김철수 - 학점 2.0', '박철수 - 학점 3.0', '이철수 - 학점 4.0']에서 학점을 모두 4.5로 바꿔주세요!

list_d = ['김철수 - 학점 2.0', '박철수 - 학점 3.0', '이철수 - 학점 4.0']
p = re.compile(r'(?P<name>\w+)\s-\s(?P<grade>\w+)\s(?P<num>\d.\d)')

for i in list_d:
    matched = p.match(i)
    print(p.sub("\g<name> - \g<grade> 4.5", i))
==결과==
김철수 - 학점 4.5
박철수 - 학점 4.5
이철수 - 학점 4.5
반응형