2009-09-22 8 views
15

컴파일 된 정규식을 디 컴파일하는 방법이 있습니까?정규식을 디 컴파일하는 방법은 무엇입니까?

+2

무슨 목적으로? 파이썬은 소스 기반이므로 항상 원래 정규식에 액세스해야합니다. 다른 사람의 .pyc 파일을 리버스 엔지니어링하려는 경우에도 정규 표현식을 디 컴파일하지 않고 파이썬 객체 코드를 디 컴파일하여 문자열을 얻는 것이 더 쉽습니다. 내가 생각할 수있는 유일한 사용은 절인 컴파일 된 정규식을 리버스 엔지니어링하려고 시도하는 것입니다 ... –

+0

왜 이것을 수행하는 것이 좋을지는 흥미로울 것입니다. – deadcyclo

답변

34

컴파일 된 정규 표현식 개체에는 원본 텍스트 패턴을 제공하는 "패턴"속성이 있습니다.

>>> import re 
>>> regex = re.compile('foo (?:bar)*') 
>>> regex.pattern 
'foo (?:bar)*' 
+6

와우 대단한데 왜 내가 dir (정규식)을하면 그것을 볼 수 없습니까 ?? 나는 인트로 스펙트를 시도했지만이 건물이 어디에서 왔는지 찾을 수 없습니다 ... – nabucosound

8
r = re.compile('some[pattern]'); 
print r.pattern 
관련 문제