Düzenli bir ifade ayrıştırıcısının kodunu okuyorum ve düzenli ifadenin sözdiziminin kendisinin düzenli olup olmadığını merak etmeye ve başka bir (oldukça karmaşık) düzenli ifade ile ifade edilebilir mi acaba?Düzenli bir ifadenin kendisi normal bir ifadeyle ayrıştırılabilir mi?
rere = "" # the regular expression of regular language
match1 = re.match(rere, "[a-z][email protected][a-z]+.com") # True
match2 = re.match(rere, ")az[") # False
Ben düzenli ifade sözdiziminde herhangi özyinelemeli yapısını görmüyorum, bu yüzden belki bu yapılabilir olduğunu düşünüyorum ?
Olursa, ifade nasıl görünür? Değilse, neden?
Hayır. Normal ifadeyi ayrıştırmak için bağlama içermeyen dilbilgisine ihtiyacınız var. İç içe geçmiş parantezler (teorik) düzenli ifadeyle ayrıştırılamaz. – nhahtdh
Evet, iç içe parantezler. Bunu unutmuştum. Ama grubun içindeki grubu desteklemiyorsam, cevap farklı olur mu? – NeoWang
@NeoWang: O zaman sahip olduğunuz şey normal ifadeden daha zayıftır. Yani, düzenli ifadenin/düzenli dilbilgisinin tanımlanabildiği, ancak dilbilgisinin olmadığı diller vardır. – nhahtdh