Salve a tutti, ho appena iniziato ad usare Ubuntu per l'università e volevo imparare a scrivere in bash...ci sono alcuni esercizi che non riesco a fare spero che qualcuno mi possa aiutare: Espressioni regolari
Grazie mille |
Premessa: per testare le tue regex in tempo reale ti consiglio questo sito https://regex101.com/ In basso metti una serie di stringhe da testare, che verificano o meno la regex, e in alto la regex, e sulla destra trovi la spiegazione di cosa è stato matchato e perché. Venendo a noi... = Esercizio 1. = TL,DR: Senza sapere a quale RFC si riferisce il tuo professore, il primo esercizio è irrisolvibile correttamente. Nell'accezione più ampia, e citando wikipedia, abbiamo che un indirizzo di posta elettronica è qualcosa della forma Il tutto è definito negli standard RFC 5322 (sezioni 3.2.3 and 3.4.1) e RFC 5321. == Local part == Continuando a tradurre e citare, la
In aggiunta a questi caratteri ASCII, i caratteri internazionale superiori al Alcuni domini, come hotmail, accettano solo caratteri alfanumerici, punti, linea e underscore. === Domain === E ora passiamo al dominio... Per il dominio le regolo sono più strette, perché deve rispettare i requisiti per un hostname, ovvero deve essere una lista di etichette DNS (label) separate da punti, dove ogni etichetta è limitata a 63 caratteri e può essere formata solo da :
Inoltre, il nome di dominio può essere un indirizzo IP direttamente, circondato da parentesi quadre, quindi tipo I nomi di dominio internazionali permettono anche dei domini non-ASCII. In sistemi di mail che rispettano gli standard RFC 6531 e RFC 6532, un indirizzo email può essere codificato in UTF-8, sia la parte locale che la parte di dominio. Esattamente come per la parte locale, inoltre, i commenti tra parentesi tonde sono autorizzati, per cui == Esempi == Indirizzi validi sempre
Indirizzi mai validi
e ci sono esempi che sono validi o meno a seconda dell'RFC di riferimento
per l'ultimo esempio, ti consiglio questa lettura. Riassumendo, una risposta perfettamente valida secondo un certo RFC è completamente sbagliata secondo un altro. Senza questa specifica l'esercizio non può essere svolto completamente. = Esercizio 2. = Nemmeno questa è facile, e di nuovo l'esercizio è incompleto. Ad esempio un tag HTML valido è anche Guarda ad esempio la risposta di Haacked a questo problema, e ancora questa risposta non è completa, perché ad esempio matcha anche cose del tipo
ma ricordati di non usarla, perché è incompleta/sbagliata. Una possibile soluzione potrebbe essere qualcosa del tipo
ma è sintassi PHP, quindi probabilmente devi adattarla a bash ( = Esercizio 3. = Ora che nell'esercizio 2 hai capito come nominare e recuperare un gruppo, questo è triviale (devi nominare i gruppi delle singole lettere e recuperarli al contrario). = Esercizio 4. = Dopo tutto il resto questo è (quasi) facile. Il problema, ancora una volta, sta nel fatto che il problema è mal posto.
|
Segui questa domanda
Via email:Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui
Via RSS:Basi di markdown
- *corsivo* o __corsivo__
- **grassetto** o __grassetto__
- collegamento:[testo](http://url.com/ "titolo")
- immagine?
- elenco numerato: 1. Foo 2. Bar
- per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
- è supportato anche semplice HTML
Tag:
domanda posta: 24 Mar '19, 00:27
domanda visualizzata: 1,793 volte
ultimo aggiornamento: 25 Dec '24, 10:11
in rete trovi molte guide:
http://www.pluto.it/ildp/guide/abs.html