Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    181

    Espressione Regolare , inizio parola

    Ciao a tutti. Ho un problema nel scrivere un'espressione regolare. Devo trovare tutte le parole che iniziano per a. Ho visto che l'inizio viene indicato con:
    Codice PHP:
    \< 
    quindi avrei scritto questa espressione: \<[a]
    Succede ovviamente che a causa del carattere speciale '\', il compilatore mi da errore, quindi ho messo il doppio \.

    Codice PHP:
    \\<[a
    Però così pure se le parole iniziano con a, mi restituisce false...

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    No, l'inizio di una riga viene rappresentato dal carattere '^', mentre la fine viene rappresentata dal dollaro ($).

    Quindi, per scrivere una RegEx che rappresenta tutte le stringhe che iniziano con A:

    codice:
    ^A.*
    Ma questo vale per le righe... se intendi costruire una espressione regolare che trova tutte le parole che iniziano con la lettra A, allora è più semplice:

    codice:
    A[^ ]*
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    181
    Ah O_O cavoli in una guida di un'università avevo letto che l'inizio veniva indicato con <\. Senti, per la fine il dollaro deve essere messo tra le parentesi tonde?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    No... l'ho messo io tra parentesi tonde per indicare qual è il carattere dollaro (capita che parlando con alcuni uteni si dica "carattere dollaro" e capiscano il carattere £... ).

    Ma attenzione: quelli sono indicatori di inizio riga e fine riga, non inizio parola e fine parola.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    181
    Ok inizio parola? A.*...io in teoria dovrei trovare tutti i doppi apici preceduti da una parentesi quadra...

    [\"]+[[]*

    Hmm non mi sembra giusta

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    No, ho corretto il mio precedente post perchè avevo scritto una stupidaggine.
    Per cercare tutte le parole che iniziano con una data lettera (esempio, la A di prima), l'espressione regolare è:

    codice:
    A[^ ]*
    Ovvero A seguita da qualunque altro carattere che non sia uno spazio.
    Nota che il cappelletto, in questo contesto (ovvero, subito dopo una parentesi quadra) serve a negare il carattere che lo segue.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    181
    Ma qualunque carattere non si indica con il . ?

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Originariamente inviato da Sasuccio87
    Ma qualunque carattere non si indica con il . ?
    Sì, ma il . indica qualunque carattere, mentre per indicare una parola io devo dire di considerare qualunque carattere, tranne lo spazio... il punto prende lo spazio come un qualunque altro carattere, quindi effettuerebbe il match con tutta la stringa rimanente dopo la prima A.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.