Sto cercando di costruire un'espressione regolare che corrisponda a simboli, vale a dire cose come nomi di funzioni e simili, in base alle attuali impostazioni della modalità principale (si chiama tabella della sintassi se ricordo correttamente). Dopo alcune indagini, ho trovato queste utili regexps:
\_<
corrisponde all'inizio di un simbolo\_>
corrisponde alla fine di un simbolo
Ora penso di aver bisogno di scoprire come rappresentare il carattere costitutivo del simbolo. Abbiamo \w
caratteri costituenti parole, ma non riesco a trovare nulla per i simboli. Regexp per abbinare i simboli dovrebbe essere qualcosa del genere (supponendo che \s
corrisponda ai caratteri costituenti il simbolo):
\_<\s+\_>
Mi sto perdendo qualcosa? Come abbinare i simboli?
Nota che la corrispondenza delle parole non funziona per me. L'esempio fondamentale è qualcosa di simile a foo-bar
un simbolo in modalità Emacs Lisp, ma non una parola (perché -
non è un carattere costituente una parola).
\s
significa effettivamente, poiché è completamente diverso dal tuo presupposto.
\s
avesse un significato nelle regexps di Emacs, ho appena scelto quel simbolo per esempio.
(re-search-forward "\\_<\\(?:\\sw\\|\\s_\\)+\\_>" nil t)
. Funziona, ma mi chiedo se c'è un modo più breve.