새소식

Problem solving/풀이 전략 - 2022.09.14

[파이썬] 정규 표현식 활용하기

  • -

기본 패턴

예제로 배우는 파이썬 프로그래밍 - 정규 표현식 Regex (pythonstudy.xyz)

  • re.search() : 주어진 패턴과 일치해야 함
  • re.match() : 주어진 패턴과 처음부터 일치해야 함

 

고급 패턴

  • () : 문자열을 그룹으로 묶어서 관리(캡쳐)할 수 있도록 도와준다. 
    • \1 ~ 9 : 캡쳐된 그룹의 인덱스를 명시해서 참고할 수 있다.
# () : 그룹 지정, \1 : 캡쳐된 그룹 참조
re_pt1 = r"(aya|ye|woo|ma)\1+"
  • 찾고자 하는 패턴이 반복되는 경우, Group 또는 findall을 활용할 수 있다.
    • Group 활용한 경우 예시
# 우선 Group으로 match 시작
>>> m = re.match('([0-9]+) ([0-9]+)', '10 295')
>>> m.group(1)    # 첫 번째 그룹(그룹 1)에 매칭된 문자열을 반환
'10'
>>> m.group(2)    # 두 번째 그룹(그룹 2)에 매칭된 문자열을 반환
'295'
>>> m.group()     # 매칭된 문자열을 한꺼번에 반환
'10 295'
>>> m.group(0)    # 매칭된 문자열을 한꺼번에 반환
'10 295'
>>> m.groups()    # 각 그룹에 해당하는 문자열을 튜플 형태로 반환
('10', '295')

 

  • 변수의 텍스트를 정규 표현식에 활용하고 싶은 경우
 

Python 변수 내의 텍스트를 정규표현식에 사용하기

Python 에서 변수 내의 텍스트를 정규표현식에 사용하고자 하는 경우 re.escape 함수를 사용한다. 아래에는 tempText 라는 문자열 중에서 'Save','expressions', 'the' 라는 변수에 저장된 string 을 변경하는 예

iamaman.tistory.com

 

정규 표현식 연습하기

정규 표현식과 예문을 입력하여 원하는 기능이 잘 동작하는지 확인할 수 있다.

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com


참고

 

[JavaScript] 정규 표현식(RegExp) 사용하기 (개념편) - 하나몬

⚡️ 정규 표현식(regular expression)이란? 정규 표현식이란 일정한 ‘패턴’을 가진 ‘문자열’의 ‘집합’을 표현하기 위해 사용하는 ‘형식 언어(formal language)’이다. 정규 표현식은 자바스크립

hanamon.kr

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.