2009-09-22 24 views
15

Düzenlendikten sonra düzenli bir ifadeyi derlemenin bir yolu var mı?Bir normal ifadeyi nasıl derleriz?

+2

Hangi amaçla? Python kaynak tabanlı, bu yüzden her zaman orijinal regex'e erişebilmeniz gerekir. Birisinin .pyc dosyalarını tersine çevirmeye çalışsanız bile, regex'i derlemek yerine, stringi almak için python nesne kodunu koda dönüştürmek daha kolay olurdu. Düşünebildiğim tek olası kullanım, bir hazır derlenmiş düzenli ifadeyi tersine çevirmeye çalışıyor ... –

+0

Bunu neden yapmak istediğini bilmek ilginç olurdu? – deadcyclo

cevap

34

Derlenmiş düzenli ifade nesneleri, orijinal metin desenini veren bir "desen" özelliğine sahiptir.

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

Vay harika, neden bir dir (regex) yaparsam onu ​​göremiyorum ?? İntikam etmeye çalıştım ama bu mülkün nereden geldiğini bulamıyorum ... – nabucosound

8
r = re.compile('some[pattern]'); 
print r.pattern 
İlgili konular