이번엔 정규표현식 중 선택에 대해 알아본다.
알파벳 중 소문자 모음만 고르고 싶을 때는?
[a,e,i,o,u]
와 같이 말이다.
그럴땐, [aeiou]만 입력해본다.
대괄호 안에 글자를 넣으면 해당 글자를 모두 선택한다.
# 정규표현식
regex = r'[aeiou]'
# 주소록
search_target = '''Luke Skywarker 02-123-4567 luke@daum.net
다스베이더 070-9999-9999 darth_vader@gmail.com
princess leia 010 2454 3457 leia@gmail.com'''
# 파이썬 코드
import re
result = re.findall(regex, search_target)
print("\n".join(result))
# 출력
u
e
a
.
.
.
a
i
o
이번엔 소문자 알파벳만 골라본다.
[abcdefghijklmnopqrlstuvwxyz]
를 사용해도 되겠지만,
[a-z]
를 사용한다.
# 정규표현식
regex = r'[a-z]'
# 주소록
search_target = '''Luke Skywarker 02-123-4567 luke@daum.net
다스베이더 070-9999-9999 darth_vader@gmail.com
princess leia 010 2454 3457 leia@gmail.com'''
# 출력은 생략한다.
u k ... o m
연속된 영어 소문자를 찾아본다.
[a-z]+
를 써보자!
# 정규표현식
regex = r'[a-z]+'
# 주소록
search_target = '''Luke Skywarker 02-123-4567 luke@daum.net
다스베이더 070-9999-9999 darth_vader@gmail.com
princess leia 010 2454 3457 leia@gmail.com'''
# 출력
uke
kywarker
luke
daum
net
...
leia
gmail
com
한글 단어를 찾아본다.
한글의 첫 번째 글자는 가
이고, 마지막은 힣
이다.
# 정규표현식
regex = r'[가-힣]+'
# 주소록
search_target = '''Luke Skywarker 02-123-4567 luke@daum.net
다스베이더 070-9999-9999 darth_vader@gmail.com
princess leia 010 2454 3457 leia@gmail.com'''
# 출력
다스베이더
단, 이 방식은 ㄱㄷㄴ
나 ㅏㅑㅓㅕ
같은 낱글자를 찾을 수 없다.
숫자나 글자 외에도 다양한 대표 문자가 있다.
\s
: 공백 문자(스페이스, 탭, 뉴라인)\S
: 공백 문자를 제외한 문자\D
: 숫자를 제외한 문자\W
: 글자 대표 문자를 제외한 문자(특수문자, 공백 등)// 주소록
var searchTarget = "Luke Skywarker 02-123-4567 luke@daum.net\
다스베이더 070-9999-9999 darth_vader@gmail.com\
princess leia 010 2454 3457 leia@gmail.com";
// 정규표현식
var regex = /\d/g;
console.log(searchTarget.match(regex));
// 출력
[ '0','2','1','2','3','4', ... ,'4','3','4','5','7' ]