2015-08-22 11 views
5

Secondo the leex documentationCome abbinare l'inizio di una riga in leex?

^ Matches the beginning of a string.

Ma quando cerco di usarlo in un modello come ^[^\s\t-:]+[^:].*$ ottengo questo errore: bad regexp 'illegal character ^'

c'è un modo migliore per abbinare l'accattonaggio di una linea | stringa in leex?

+0

Questo può o non può essere correlato al tuo problema ma il tuo primo set di caratteri probabilmente non è quello che desideri. '[^ \ s \ t -:]' significa "** Né ** Un carattere di spazio * o * qualsiasi carattere nell'intervallo ** ** dal carattere di tabulazione a': '" Utilizzerà il set di caratteri ascii durante la creazione questa gamma. – d0nut

+0

grazie @iismathwizard, questo è vero e un errore; ma la modifica a '[^ \ s \ t: -]' produce ancora lo stesso errore :( – jisaacstone

risposta

5

Alla fine del documentation page a trovare questa nota:

Anchoring a regular expression with^and $ is not implemented in the current version of Leex and just generates a parse error.

che sembra voler dire non è possibile utilizzare ^ e $ con un'espressione regolare tra come si fa.

Se si conoscono le stringhe che terminano con un carattere specifico (come \n), suppongo che sia possibile sostituire lo $ con quel delimitatore di caratteri.

+0

Questo problema verrà risolto in una futura versione principale. :-) – rvirding

+0

Wow, c'è qualche soluzione per questo? Ad esempio, come si analizza il codice Python (il rientro dello spazio bianco è importante all'inizio della riga)? – loxs

Problemi correlati