Domande taggate «regular-expressions»

è per i modelli che specificano la ricerca o la sostituzione delle stringhe. Conosciuto anche come `regex` o` regexp`, i modelli descrivono le stringhe da abbinare durante la ricerca o la sostituzione. Emacs fornisce un ampio supporto per i modelli `regex` in molti comandi. Emacs fornisce anche un generatore di espressioni interattive per tali modelli.

2
Comprensione di emacs align-regexp
Ho letto la documentazione di Emacs per align-regexpma ho ancora difficoltà a capire come funziona. Quello di cui sto parlando è la sua forma prefissata C-uM-xalign-regexp, non la forma semplice M-xalign-regexp. Ecco le mie domande: Il primo parametro (regex) deve corrispondere all'intera riga della stringa? Cosa succede se regex corrisponde …


2
Qual è la regex per abbinare un personaggio newline?
In Emacs regex, \nnon corrisponde a un nuovo carattere di linea \n. Ho ragione che $corrisponde alla posizione tra un nuovo carattere di linea e il personaggio proprio prima del nuovo carattere di linea. ad es. per una stringa abc\n, $corrisponde alla posizione tra ce \n? Qual è la regex …

6
Ottieni tutte le corrispondenze regexp nel buffer come elenco
Sul sito di scambio di code golf code oggi, ho trovato questa risposta in Clojure alla domanda "Ottieni tutti i link su una pagina web". (->> (slurp "http://www.stroustrup.com") (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+")) Senza la fantasia macro, è proprio questo: (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+" (slurp "http://www.stroustrup.com")) Questo restituisce l'elenco: ("http://www.morganstanley.com/" "http://www.cs.columbia.edu/" "http://www.cse.tamu.edu" ...) Posso fare …

3
Elisp regexps ^ e $ vs `and '
Il manuale descrive i caratteri speciali di regexp ^e $. Come nella maggior parte dei dialetti delle espressioni regolari che conosco, sembrano corrispondere all'inizio o alla fine di una stringa. Tuttavia, ho anche scoperto che ci sono `e 'personaggi disponibili. Sulla base della spiegazione trovata qui , sembrano corrispondere anche …

1
Come posso creare una regexp dinamica con rx?
Voglio usare rxper creare espressioni regolari con valori di runtime. Attualmente sto facendo questo: (setq strings '("foo" "bar" "baz")) (eval `(rx symbol-start (or ,@strings) symbol-end)) Tuttavia, preferirei evitare di usare eval. Ho trovato rx-to-string, ma non è chiaro quale FORM dovrei scrivere: ;; error: Unknown rx form `symbol-start (rx-to-string '(symbol-start …




7
Come posso esercitarmi nella ricerca e nella sostituzione interattive con espressioni regolari in Emacs?
La ricerca e la sostituzione mediante espressioni regolari è chiaramente un potente strumento per l'utente di Emacs che può eseguire abitualmente queste azioni. Tuttavia, come principiante di Emacs (e / o programmazione), le espressioni regolari devono essere apprese e praticate. Posso imparare e addestrare le espressioni regolari in modo interattivo …


1
supporto per regex guardare dietro e avanti?
Devo eseguire la sostituzione della query regex in modo tale fooin foo barè abbinato, ma fooin foo baznon lo è. Normalmente userei regex guardare avanti, ad es foo(?=bar). Tuttavia, sembra che Emacs non possa farlo? Vim sembra capace , ma la modalità malvagia nei veicoli spaziali non può.


1
Modalità malvagia ed espressioni regolari
In Vim, se voglio cercare tutti i nomi di variabili LX dove X è un numero, posso semplicemente digitare /L\d. Tuttavia, questo non sembra funzionare evil. Esiste un'altra sintassi per le espressioni regolari in modalità Evil o dovrò ricorrere ad alcune funzionalità di Emacs per la ricerca e la sostituzione …

1
prestazione "guardando indietro"
Ho un po 'di codice usando (looking-back … (line-beginning-position)). Doc stringa di looking-backstati che è meglio evitare questa funzione a causa della lentezza. Sono curioso che il seguente approccio sia più veloce? (save-excursion (goto-char (line-beginning-position)) (looking-at regexp stuff))

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.