Sto leggendo il codice di un parser di espressioni regolari e comincio a chiedermi se la sintassi dell'espressione regolare è essa stessa regolare e può essere espressa con un'altra (abbastanza complicata) espressione regolare?È possibile analizzare un'espressione regolare per sé con un'espressione regolare?
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
non vedo alcuna struttura ricorsiva nella sintassi delle espressioni regolari, quindi penso che forse questo è fattibile?
Se è così, come si presenta l'espressione? Se no, perché?
No. È necessaria la grammatica context-free per analizzare l'espressione regolare. Le parentesi nidificate non possono essere analizzate con un'espressione regolare (teorica). – nhahtdh
Sì, parentesi nidificate. L'ho dimenticato. Ma se non sostengo il gruppo all'interno del gruppo, la risposta sarebbe diversa? – NeoWang
@NeoWang: Allora quello che hai è più debole dell'espressione regolare. cioè ci sono delle lingue dove può essere descritta l'espressione regolare/grammatica regolare, ma non la tua grammatica. – nhahtdh