정규표현식 연습하기2(feat. 연습문제)

이전글에서 공부 목적과 일부 내용을 적어두었다. 하지만 기초를 잡는 글은 많은데 연습할 수 있는 문제는 없어 정규식 문제 은행을 목적으로 포스팅하며, 이 글은 지속적인 업데이트가 이뤄질 예정이다.

더불어서, 파이썬 문서만 보아도 기초적인 내용은 파악이 가능하다.

 

정규표현식 연습하기 with Python

정규표현식은 대상이 되는 문자열 집합에서 정해진 패턴이 존재하는 경우 규칙을 입력하여 뽑아낼 수 있다. 프로그래밍 언어를 사용할 때, 원격 프로그램 세션, 에디터 프로그램 등등 사용할 수

qualityhm.tistory.com

 

 


검색이 귀찮을 때 보기 위해 연습용 사이트 모음집도 추가한다.

https://www.hackerrank.com/domains/regex 

https://regexone.com/problem/matching_decimal_numbers

https://holypython.com/advanced-python-exercises/project-regular-expressions-regex/


*더보기를 누르면 정답을 알 수 있습니다.

 

  1. 다음 정규식의 의미를 설명하시오.

.*[@].*[.](?=com$|net$).*$

더보기

전방탐색을 이용하여 com과 net만 뽑기


2. ftp://battle.com와 같은 문자열이 있을 때 아래 정규식의 결과값은?

.+(:)
.+(?=:)
더보기
ftp
ftp:​
검색 결과를 consume 소비하여 해당 문자까지 포함/미포함해서 리턴하는가. 잘 이해가 안된다면 '전방탐색, 긍정 탐색을 키워드로 공부하자'

3. 아래 문자열에서 원화 가격만 뽑기

text = 'apple is \30.k for \5.23 k-100 apples \1999'
더보기
text = 'apple is \30.k for \5.23 k-100 apples \1999'
p = re.compile('(?<=\\)\d+')
print(p.findall(text))