Passion/Python

[Regular Expression] 날짜 찾기

sunshout 2011. 5. 13. 03:42
스트링에서 날짜를 뽑는 regular expression

import re

filename = "management-server.log.2011-04-06.gz"
# \d+ : 숫자가 연속적으로 있음
pattern = r'(\d+-\d+\d+)'
tokens = re.search(pattern, filename)
a = tokens.group()
print a


 ㅇ  re의 패턴에서 (괄호) 안에 묶으면 하나의 토큰으로 그룹핑을 한다.
 ㅇ 찾고자 하는 패턴이 한 줄에서 여러번 나올 경우, search 대신에 findall(pattern, filename)을 하면 결과를 리스트로 리턴한다.

>>> a = "dfdf-2011-04-05 dfdfd d 2012-05-67.log"

>>> pattern = r'(\d+-\d+-\d+)'
>>> token2 = re.findall(pattern, a)
>>> print token2
['2011-04-05', '2012-05-67']



scanf() TokenRegular Expression
%c .
%5c .{5}
%d [-+]?\d+
%e%E%f%g [-+]?(\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?
%i [-+]?(0[xX][\dA-Fa-f]+|0[0-7]*|\d+)
%o 0[0-7]*
%s \S+
%u \d+
%x%X 0[xX][\dA-Fa-f]+