본문 바로가기

NLP

Basic Regular expression 연습

. 기호

import re

# 임의의 한 개의 문자를 나타내는 . 
r = re.compile("a.c")

r.search("ab")
r.search("abc") # matching!

 

 

? 기호

# ? 앞의 문자가 존재할 수도 있고, 존재하지 않을 수도 있는 경우
r = re.compile("a?c")
r.search("bc") # matching!

# 존재 하는 경우의 매칭
r.search("ac") # matching!

# 존재하지 않는 경우의 매칭
r.search("abc") # matching!

 

 

* 기호

# * 은 바로 앞의 문자가 0개 이상일 경우를 나타냄.
r = re.compile("ab*c") # b 가 하나도 없거나, 여러 개인 경우

r.search("a")
r.search("ac") # matching!
r.search("abc") # matching!
r.search("abbbbc") # matching!

 

 

+ 기호

# + 앞의 문자가 최소 1개 이상 있어야 함. 
r = re.compile("ab+c")

r.search("ac")
r.search("abc") # matching! 
r.search("abbbc") # matching!

 

 

 

^ 기호

# ^ 시작되는 글자를 지정함. 
r = re.compile("^a")

r.search("bbc")
r.search("ab") # matching!

 

{숫자} 기호

 

# 앞 문자를 해당 숫자만큼 반복해야 함.
r = re.compile("ab{2}c")

r.search("ac")
r.search("abc") # matching!
r.search("abbc")

 

{숫자1, 숫자2} 기호

# 앞 문자를 숫자1 이상 숫자2 이하 만큼 반복해야 함.
r = re.compile("ab{2,8}c")

r.search("ac")
r.search("abc")
r.search("abbc") # matching!
r.search("abbbbbbbbc") # matching!
r.search("abbbbbbbbbc")

 

{숫자,} 기호

# 앞 문자를 숫자 이상 만큼 반복해야 함.
r = re.compile("a{2,}bc")

r.search("abc")
r.search("aabc") # matching!

 

[ ] 기호

# [] 안에 있는 문자들 중 한 개의 문자와 매치
# 범위를 지정할 수도 있음. 예) a-z, A-Z, 0-9
r = re.compile('[abc]')

r.search("dd")
r.search("ad") # matching!
r.search("adb") # matching!

 

[^문자] 기호

# ^기호 뒤에 붙은 문자들을 제외한 모든 문자를 매치함.
r = re.compile("[^abc]") # abc 제외 모든 문자

r.search("ab")
r.search("abcd") # matching!

'NLP' 카테고리의 다른 글

Transformer  (0) 2022.06.30
Tokenization  (0) 2022.06.28
NLP preprocessing  (0) 2022.06.27
RNNs with Attention  (0) 2022.06.24
Language Model & AWD techniques  (0) 2022.06.22