«regular-expressions» etiketlenmiş sorular

dizeleri aramayı veya değiştirmeyi belirten modeller içindir. "Regex" veya "regexp" olarak da bilinen modeller, arama veya değiştirme sırasında eşleşecek dizeleri tanımlar. Emacs, birçok komutta "regex" kalıpları için kapsamlı destek sağlar. Emacs ayrıca bu tür desenler için etkileşimli bir ifade oluşturucu sağlar.

2
Emacs anlamak align-regexp
Emacs belgelerini okudum align-regexpama hala nasıl çalıştığını anlamakta zorluk çekiyorum. Bahsettiğim şey, C-uM-xalign-regexpbasit hali değil, öneki formu M-xalign-regexp. İşte benim sorularım: İlk parametre (regex) tüm dizge satırına uymak zorunda mı? Düzenli ifade yalnızca dizenin bir parçasıyla eşleşirse ne olur? İkinci parametreye ne tedarik edilmeli (Değiştirilecek parantez grubu (negatifse gerekçeli))? Burada …


2
Yeni satır karakteriyle eşleşecek normal ifade nedir?
Emacs'da normal ifade, \nyeni bir satır karakteriyle eşleşmiyor \n. $Yeni bir satır karakteri ile yeni satır karakterinden hemen önceki karakter arasındaki konumla eşleşen doğru muyum ? mesela bir dize için abc\n, $aralarında pozisyonunu maçları cve \n? Eşleşen normal ifade nedir \n?

6
Tüm regexp maçlarını arabellekte bir liste olarak al
Bugün Code Golf Stack Exchange sitesinde, bu cevabı Clojure'da "Bir web sayfasındaki tüm linkleri al" sorusuna buldum . (->> (slurp "http://www.stroustrup.com") (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+")) Süslü makro olmadan, sadece bu: (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+" (slurp "http://www.stroustrup.com")) Bu listeyi döndürür: ("http://www.morganstanley.com/" "http://www.cs.columbia.edu/" "http://www.cse.tamu.edu" ...) Emacs Lisp'de benzer bir şey yapabilir miyim? Belki böyle bir işlev …

3
Elisp regexps ^ ve $ vs `ve '
Manuel açıklar regexp'in özel karakterleri ^ve $. Bildiğim çoğu normal ifade lehçesinde olduğu gibi, bir dizenin başlangıcı veya sonu ile eşleşiyor gibi görünüyorlar. Ancak, kullanılabilir karakterler `ve 'karakterler olduğunu da keşfettim . Burada bulunan açıklamaya göre , dizelerin başlangıcı veya bitişi ile de eşleşiyor gibi görünüyorlar. Birisi bu özel karakterler …

1
Rx ile nasıl dinamik regexp oluşturabilirim?
Çalışma rxzamanı değerleri ile düzenli ifadeler oluşturmak için kullanmak istiyorum . Şu anda bunu yapıyorum: (setq strings '("foo" "bar" "baz")) (eval `(rx symbol-start (or ,@strings) symbol-end)) Ancak, kullanmaktan kaçınmayı tercih ederim eval. Buldum rx-to-string, ama ne FORM yazmam gerektiği açık değil: ;; error: Unknown rx form `symbol-start (rx-to-string '(symbol-start (or …

2
Perl normal ifadesini etkileşimli olarak nasıl test edebilir ve kullanabilirim?
Diyelim ki metin içeren bir arabellek var. Tamponuma karşı düzenli bir ifadeyi (ideal olarak Perl tipi) test etmek ve Emacs'ın eşleşmeleri vurgulamasını istiyorum. Örneğin, aşağıdaki normal ifade ( Wikipedia'dan alınmıştır ): (?<=\.) {2,}(?=[A-Z]) aşağıdaki metinde aşağıdaki gibi eşleşir: Bu düzenli ifade özellikle noktadan sonra (.)ve büyük harflerden önce meydana gelen …



7
Emacs'ta normal ifadelerle arama ve değiştirme işlemlerini nasıl pratik yapabilirim?
Düzenli ifadeler kullanarak arama ve değiştirme, Emacs kullanıcısı için bu işlemleri rutin olarak gerçekleştirebilen açık bir şekilde güçlü bir araçtır. Bununla birlikte, bir Emacs (ve / veya programlama) acemi olarak, düzenli ifadelerin öğrenilmesi ve uygulanması gerekir. Yerleşik Emacs öğreticisine benzer şekilde Emacs'ta düzenli ifadeleri etkileşimli olarak öğrenebilir ve eğitebilir miyim …


1
regex için destek arkaya ve ileriye bakmak?
Ben regex sorgusu yerine gerçekleştirmek gerekir, öyle ki fooiçinde foo bareşleşti, ancak fooiçinde foo bazdeğildir. Normalde, regex ileriye bakmak, örneğin kullanabilirsiniz foo(?=bar). Ancak, Emacs bunu yapamıyor gibi görünüyor? Vim yetenekli görünüyor , ancak uzay haritalarındaki kötü mod yapamıyor.

1
Arapça kelimeleri aksanları / aksanları olmadan nasıl arayabilirim?
Arapça'da diğer bazı dillerde olduğu gibi, telaffuzu geliştirmek için aksan adı verilir. Tek bir kelime için kaç tane aksan yazılması gerektiğine dair bir sözleşme yoktur. Bazıları en azı (hangisini tercih ettiğimi) telaffuzu netleştirmek için yeterince kullanır, bazıları ise gereksiz ya da sadece estetik kaligrafik amaçlar için kullanır. Böylece, tek bir …

1
Kötü mod ve düzenli ifadeler
Vim'de, X'in bir sayı olduğu tüm değişken adları LX'i aramak istersem, yazabilirim /L\d. Ancak, bu işe yaramaz gibi görünüyor evil. Kötü modda normal ifadeler için başka bir sözdizimi var mı, yoksa normal ifadeler kullanarak arama ve değiştirme için bazı Emacs işlevlerine geri dönmem gerekecek mi? Ben kullanıyorum spacemacsve Emacs, birçok …

1
"geriye dönüp bakma" performansı
Kullanarak bazı kod var (looking-back … (line-beginning-position)). Doc dizesi looking-back, yavaşlık nedeniyle bu işlevden kaçınmanın daha iyi olduğunu belirtir. Merak ediyorum takip eden yaklaşım daha hızlı olacak mı? (save-excursion (goto-char (line-beginning-position)) (looking-at regexp stuff))

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.