Devo trovare tutte le stringhe costituite solo da lettere 'a' e 'b' e ogni istanza di 'a' è immediatamente seguita da 'b' e immediatamente preceduta da 'b'.Come catturare l'intera stringa mentre usi 'lookaround' con caratteri in espressioni regolari?
Ad esempio:
mystring = 'bab babab babbab ab baba aba xyz'
Poi il mio regex dovrebbe restituire:
['bab' 'babab' 'babbab']
(Nella stringa 'ab' - 'a' non è preceduto da 'b' Allo stesso modo per 'aba'. e 'xyz' non è fatta di solo 'a', 'b')
ho usato lookahead per questo e ha scritto questo regex:.
re.findall(r'((?<=b)a(?=b))',mystring)
Ma questo mi restituisce solo tutte le istanze di 'a' che sono seguiti/preceduti da 'b', come:
['a','a','a','a']
ma ho bisogno di parole intere. Come posso trovare parole intere usando regex? Ho provato a modificare il mio regex con varie opzioni, ma niente sembra funzionare. Come si può fare?
grazie mille, funziona. Dovrò migliorare la mia comprensione delle macchine a stati finiti –