정규 표현 식 04 - 여러 문자 일치

여러 문자 일치
여러 문자 와 일치 하 는 형식
문자
기능.
*
이전 문자 와 일치 하여 0 회 또는 무한 회 나타 나 면 있 으 나 없 음
+
이전 문자 와 일치 하 는 경우 1 회 또는 무한 회, 즉 최소 1 회
?
이전 문자 와 일치 하면 한 번 또는 0 번 나타 납 니 다. 즉, 한 번 있 거나 없 거나.
{m}
이전 문자 와 일치 하여 m 회 나타 나 기
{m,n}
이전 문자 와 일치 하여 m 에서 n 회 까지 나타 납 니 다.
예시 1: *
필요: 일치 합 니 다. 문자열 의 첫 번 째 자 모 는 대소 문자 이 고 뒤쪽 은 소문 자 이 며 이 소문 자 들 은 있 으 나 마 나 합 니 다.
#coding=utf-8
import re

ret = re.match("[A-Z][a-z]*","M")
print(ret.group())

ret = re.match("[A-Z][a-z]*","MnnM")
print(ret.group())

ret = re.match("[A-Z][a-z]*","Aabcdef")
print(ret.group())

실행 결과:
M
Mnn
Aabcdef

예시 2: +
필요: 일치 하 는 변수 이름 이 올 바른 지 여부
#coding=utf-8
import re

names = ["name1", "_name", "2_name", "__name__"]

for name in names:
    ret = re.match("[a-zA-Z_]+[\w]*",name)
    if ret:
        print("    %s     " % ret.group())
    else:
        print("    %s   " % name)

실행 결과:
    name1     
    _name     
    2_name   
    __name__     

예시 3:?
필요: 0 에서 99 사이 의 숫자 일치
#coding=utf-8
import re

ret = re.match("[1-9]?[0-9]","7")
print(ret.group())

ret = re.match("[1-9]?\d","33")
print(ret.group())

ret = re.match("[1-9]?\d","09")
print(ret.group())

실행 결과:
7
33
0 #           ,  $    

예제 4: {m}
필요: 8 ~ 20 비트 의 암 호 를 일치 시 키 면 대소 문자, 숫자, 밑줄 을 그 을 수 있 습 니 다.
#coding=utf-8
import re

ret = re.match("[a-zA-Z0-9_]{6}","12a3g45678")
print(ret.group())

ret = re.match("[a-zA-Z0-9_]{8,20}","1ad12f23s34455ff66")
print(ret.group())

실행 결과:

12a3g4
1ad12f23s34455ff66

좋은 웹페이지 즐겨찾기