Python/Python Basic Lesson

Python Programming Basic - Append. Regular Expression (정규식 표현식) 기호

Pydole 2020. 3. 4. 15:21

 

 

* : 바로 앞에 있는 문자가 0부터 무한대로 반복될 수 있다는 의미

 

import re

stringtup = ('apple','appppple','aple','ale')

p = re.compile('ap*le')

for i in stringtup:
    if p.search(i):
        print('match :', i)
    else:
        print('no match :', i)
--------------------------------------------------
match : apple
match : appppple
match : aple
match : ale

 

 

 

+ : 바로 앞에 있는 문자가 최소 1부터 무한대로 반복될 수 있다는 의미

 

import re

stringtup = ('apple','appppple','aple','ale')

p = re.compile('ap+le')

for i in stringtup:
    if p.search(i):
        print('match :', i)
    else:
        print('no match :', i)
-----------------------------------------------
match : apple
match : appppple
match : aple
no match : ale

 

 

 

[ ] : 대괄호 안에 문자 중 하나. (소문자 매치)

 

import re

stringtup = ('apple','appppple','aple','ale')

p = re.compile('[a-z]')

for i in stringtup:
    if p.search(i):
        print('match :', i)
    else:
        print('no match :', i)
--------------------------------------------------
match : apple
match : appppple
match : aple
match : ale

 

 

 

[ ] : 대괄호 안에 문자 중 하나. (대문자 매치)

 

import re

stringtup = ('apple','appppple','aple','ale', 'Apple')

p = re.compile('[A-Z]')

for i in stringtup:
    if p.search(i):
        print('match :', i)
    else:
        print('no match :', i)

--------------------------------------------------
no match : apple
no match : appppple
no match : aple
no match : ale
match : Apple

 

 

 

{n} : 바로 앞에 있는 문자가 정확히 n번

 

import re

stringtup = ('apple','appppple','aple','ale', 'Apple')

p = re.compile('a{1}')

for i in stringtup:
    if p.search(i):
        print('match :', i)
    else:
        print('no match :', i)
------------------------------------------------------
match : apple
match : appppple
match : aple
match : ale
no match : Apple


# n을 2회로 바꾸면 일치하는 문자열이 없으므로 전부 노 매치된다

import re

stringtup = ('apple','appppple','aple','ale', 'Apple')

p = re.compile('a{2}')

for i in stringtup:
    if p.search(i):
        print('match :', i)
    else:
        print('no match :', i)
------------------------------------------------------
no match : apple
no match : appppple
no match : aple
no match : ale
no match : Apple

 

 

{n, m} : 바로 앞에 있는 문자 n번 이상, m번 이하

 

import re

stringtup = ('apple','appppple','aple','ale', 'Apple')

p = re.compile('a{1,2}')

for i in stringtup:
    if p.search(i):
        print('match :', i)
    else:
        print('no match :', i)
-------------------------------------------------
match : apple
match : appppple
match : aple
match : ale
no match : Apple

 

 

| (pipe) : |로 분리된 문자에 매치

 

import re

stringtup = ('sos','sis','ses','sxs')

p = re.compile('s(o|i|e)s')

for i in stringtup:
    if p.search(i):
       print('match :', i)
    else:
        print('no match :', i)
---------------------------------------
match : sos
match : sis
match : ses
no match : sxs

 

 

 

. : 문자 하나에 매치 (문자, 숫자, 공백 등)

 

import re

stringtup = ('apple','appppple','a$p','a pp', 'Apple')

p = re.compile('a.p')

for i in stringtup:
    if p.search(i):
        print('match :', i)
    else:
        print('no match :', i)
----------------------------------------------------------
match : apple
match : appppple
match : a$p
match : a pp
no match : Apple

 

 

 

^ : 바로 뒤 문자로 시작되면 매치

 

import re

stringtup = ('apple','appppple','a$p','a pp', 'Apple')

p = re.compile('^a')

for i in stringtup:
    if p.search(i):
        print('match :', i)
    else:
        print('no match :', i)
----------------------------------------------------------
match : apple
match : appppple
match : a$p
match : a pp
no match : Apple

 

 

 

$ : 바로 앞 문자로 끝나면 매치

 

import re

stringtup = ('apple','appppple','a$p','a pp', 'Apple')

p = re.compile('e$')

for i in stringtup:
    if p.search(i):
        print('match :', i)
    else:
        print('no match :', i)
-------------------------------------------------------
match : apple
match : appppple
no match : a$p
no match : a pp
match : Apple