간단프로그래밍2011. 8. 6. 14:27


파이썬 정규식도 강력하다.

정규식 객체로 만들면  (compile 하여)

상당히 빨라진다. 이는 정규식이 파싱되어 임시 정규식 객체가 생성되는 과정이 한번만 이루어지게 되는것 같다.


모든 정규식을 다 합쳐서 하나의 정규식으로 만들고 

앞에서부터 하나씩 매치해가면서 잘라내기 시작한다 (pos : 시작위치를 옮긴다)

groups() 는 모든 그룹 (정규식에서 괄호() 로 둘러싸인 부분) 에 대해 

매치된 부분을 리턴한다.  매치되지 않았으면 None 이 된다.

그래서 가장 처음 나타나는 매치된 문자열을 리턴하게 되므로

token list 는 먼저 쓴 순서대로 우선순위가 존재할 것이다.


lex 류와 같이 매치되지 않은 token이 있으면 더이상 진행할수 없으므로 중단된다.



이러한 형태의 lex 템플릿은 매우 유용한것 같다.



Posted by 멍충한아싸

댓글을 달아 주세요