Domanda

ho bisogno di avere tutti e 6 lettera Latina parole in un elenco.

Vorrei anche avere parole che seguono il modello Xyzzyx in un elenco.

ho usato poco Python.

È stato utile?

Soluzione

Le espressioni regolari sono tuo amico, il mio amico! È questo compito?

Ecco un esempio che è close per ciò che si vuole:

egrep "^\w{6}$" /usr/share/dict/words | egrep "(.)(.)(.)\3\2\1"

Lascio come esercizio per il lettore di creare un elenco di parole latino e affrontare il maiuscolo X nella seconda regex, ma l'idea generale dovrebbe essere evidente.

Altri suggerimenti

Si noti che se l'elenco contiene tutti declinazioni e verbi dei sostantivi coniugazioni, il programma non produrrà nulla di simile tutti le parole di sei lettere in latino.

Per esempio, l'elenco contiene probabilmente solo il nominativo dei sostantivi. sostantivi prima declinazione nominativo cui è lungo cinque lettere (ad esempio mensa ) hanno un genitivo sei lettere (ad esempio mensae ). Tutte le declinazioni contengono casi in cui la lunghezza del nome è diverso dal suo nominativo.

Lo stesso è ancora più vero verbi, ciascuna delle quali ha (almeno) quattro parti principali, che possono essere di varia lunghezza, e la cui coniugazione può essere di varia lunghezza pure. Quindi la prima persona singolare del presente indicativo di Lego è lunga quattro lettere, ma il suo infinito legere è a sei; Porto è cinque in prima persona singolare, ma sei in seconda persona singolare, Portas .

suppongo che sia possibile in linea di principio per costruire un motore che declina e coniugati parole latine dato abbastanza metainformation su ogni parola di codice. Python sarebbe in realtà un buon linguaggio per farlo. Ma questo è un compito molto più grande di una semplice scrittura di un'espressione regolare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top