Pertanyaan yang diberi tag «regular-expressions»

adalah untuk pola yang menentukan pencarian atau mengganti string. Juga dikenal sebagai `regex` atau` regexp`, polanya menggambarkan string yang cocok ketika mencari atau mengganti. Emacs menyediakan dukungan luas untuk pola `regex` di banyak perintah. Emacs juga menyediakan pembangun ekspresi interaktif untuk pola tersebut.

2
Memahami emacs align-regexp
Saya telah membaca dokumentasi Emacs untuk align-regexptetapi masih mengalami kesulitan dalam memahami cara kerjanya. Yang saya bicarakan adalah bentuk awalannya C-uM-xalign-regexp, bukan bentuk sederhana M-xalign-regexp. Ini pertanyaan saya: Apakah parameter pertama (regex) harus cocok dengan seluruh baris string? Bagaimana jika regex hanya cocok dengan sebagian string? Apa yang harus disediakan …

1
Mengapa ekspresi reguler yang dibuat dengan pembuat regex menggunakan sintaksis yang berbeda dari ekspresi reguler interaktif?
Jadi, menggunakan pembangun ekspresi reguler (Mx re-builder), menemukan baris yang diakhiri dengan \ membutuhkan "\\ $", sementara dalam mencari dan mengganti dengan regex, hanya dibutuhkan "\ $". Saya akan mengharapkan pembuat regex untuk membangun ekspresi yang dapat digunakan secara langsung, jadi apa yang menyebabkan perbedaan ini?

2
Apa regex yang cocok dengan karakter baris baru?
Di Emacs regex, \ntidak cocok dengan karakter baris baru \n. Apakah saya benar yang $cocok dengan posisi antara karakter baris baru dan karakter tepat sebelum karakter baris baru. misalnya untuk string abc\n, $cocok dengan posisi antara cdan \n? Apa regex yang cocok \n?

6
Dapatkan semua kecocokan regexp dalam buffer sebagai daftar
Di situs Code Golf Stack Exchange hari ini, saya menemukan jawaban ini di Clojure untuk pertanyaan "Dapatkan semua tautan di laman web". (->> (slurp "http://www.stroustrup.com") (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+")) Tanpa makro mewah, hanya ini: (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+" (slurp "http://www.stroustrup.com")) Ini mengembalikan daftar: ("http://www.morganstanley.com/" "http://www.cs.columbia.edu/" "http://www.cse.tamu.edu" ...) Bisakah saya melakukan hal serupa di Emacs …

3
Elisp regexps ^ dan $ vs `dan '
Manual menggambarkan karakter khusus regexp ^dan $. Seperti kebanyakan dialek ekspresi reguler yang saya tahu, mereka sepertinya cocok dengan awal atau akhir sebuah string. Namun, saya juga menemukan bahwa ada `dan 'karakter yang tersedia. Berdasarkan penjelasan yang ditemukan di sini , mereka tampaknya juga cocok dengan awal atau akhir string. …

1
Bagaimana cara membuat regexp dinamis dengan rx?
Saya ingin menggunakan rxuntuk membuat ekspresi reguler dengan nilai runtime. Saat ini, saya melakukan ini: (setq strings '("foo" "bar" "baz")) (eval `(rx symbol-start (or ,@strings) symbol-end)) Namun, saya lebih suka menghindari menggunakan eval. Saya telah menemukan rx-to-string, tetapi tidak jelas FORMULIR apa yang harus saya tulis: ;; error: Unknown rx …




7
Bagaimana saya bisa berlatih mencari dan mengganti dengan ekspresi reguler secara interaktif di Emacs?
Mencari dan mengganti menggunakan ekspresi reguler jelas merupakan alat yang ampuh bagi pengguna Emacs yang secara rutin dapat melakukan tindakan ini. Namun, sebagai pemula Emacs (dan / atau pemrograman), ekspresi reguler perlu dipelajari dan dipraktikkan. Bisakah saya belajar dan melatih ekspresi reguler secara interaktif di Emacs, mirip dengan tutorial bawaan …


1
dukungan untuk regex melihat ke belakang dan ke depan?
Saya perlu melakukan penggantian permintaan regex, sedemikian rupa foodi foo bardicocokkan, tetapi foodi foo baztidak. Biasanya saya akan menggunakan regex melihat ke depan, mis foo(?=bar). Namun, sepertinya Emacs tidak bisa melakukan ini? Vim tampaknya mampu , tetapi mode jahat di spacemac tidak bisa.

1
Bagaimana cara mencari kata Arab dalam teks tanpa diakritik / aksennya?
Dalam bahasa Arab seperti dengan beberapa bahasa lain ada yang disebut diakritik untuk meningkatkan pengucapan. Tidak ada konvensi tentang berapa banyak diakritik harus ditulis untuk satu kata. Beberapa menggunakan minimum (yang saya sukai) hanya cukup untuk mengacaukan pengucapan, sedangkan beberapa menggunakannya secara berlebihan atau hanya untuk tujuan kaligrafi estetika. Dengan …

1
Mode jahat dan ekspresi reguler
Di Vim, jika saya ingin mencari semua nama variabel LX di mana X adalah angka, saya cukup mengetik /L\d. Namun, ini sepertinya tidak berhasil evil. Apakah ada sintaks lain untuk ekspresi reguler dalam mode Jahat, atau apakah saya harus kembali menggunakan beberapa fungsi Emacs untuk mencari dan mengganti menggunakan ekspresi …

1
kinerja `melihat-kembali`
Saya punya beberapa kode (looking-back … (line-beginning-position)). Doc string looking-backmenyatakan bahwa lebih baik untuk menghindari fungsi ini karena kelambatan. Saya ingin tahu apakah pendekatan berikut akan lebih cepat? (save-excursion (goto-char (line-beginning-position)) (looking-at regexp stuff))

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.