[python] regular expression

📝 1yangsh·2021년 3월 14일
0

python

목록 보기
3/6

Regular expression (Regex)

정규표현식

정규표현식내용
^line의 시작
$line의 끝
.모든 문자
\s빈칸
\S빈칸을 제외한 문자
*문자가 0번이상 반복
*?문자가 0번이상 반복(non-greedy)
+문자가 1번이상 반복
+?문자가 1번이상 반복(non-greedy)
[aeiou](영문)모음 중 한 문자
[^XYZ]해당 문자를 제외한 문자
[a-z0-9]범위(range)를 포함한 문자 세트
(문자열 추출 시작
)문자열 추출 끝

  • 정규표현식 모듈 import

    • import re
  • 정규표현식을 이용한 문자열 검색 메소드

  1. match()
     import re
     p = re.compile('[a-z]+')
     m = p.search('python')   
     print(m)
     > python
  1. search()
     import re
     p = re.compile('[a-z]+')
     m = p.search('3 python')   # 맞는 문구만 찾아옴
     print(m)
     > python  
  1. findall()
     import re
     p = re.compile('[a-z]+')
     m = p.search('life is too short')  # 리스트 형식으로 반환
     print(m)
     > ['life', 'is', 'too', 'short']
  1. finditer()
     import re
     p = re.compile('[a-z]+')
     m = p.search('life is too short')  # match를 반복 가능한 형태로 출력
     print(m)

  • 한글만
 import re
 words = re.compile('[\u3131-\u3163\uac00-\ud7a30-9]+')
 words = re.compile('[가-힣]+')
 result = words.findall(문자열)
  • 영어 + 숫자
 import re
 words = re.compile('[a-zA-Z0-9]+')
 result = words.findall(문자열)      
    
 # result = re.findall('[a-zA-Z0-9]+', 문자열)

참고 :
https://nachwon.github.io/regular-expressions/
https://wikidocs.net/book/1 (점프 투 파이썬)

profile
개발 경험 저장소

0개의 댓글