Saya mencoba untuk membangun ekspresi reguler yang cocok dengan simbol, yaitu, hal-hal seperti nama fungsi dan sejenisnya, sesuai dengan pengaturan mode utama saat ini (ini disebut tabel sintaks jika saya ingat dengan benar). Setelah beberapa penyelidikan, saya telah menemukan regexps yang berguna ini:
\_<
cocok dengan awal simbol\_>
cocok dengan akhir simbol
Sekarang saya pikir saya perlu mencari tahu cara mewakili karakter simbol-konstituen. Kami memiliki \w
karakter penyusun kata, tetapi saya tidak dapat menemukan apa pun untuk simbol. Regexp to match simbol harus seperti (dengan asumsi yang \s
cocok dengan karakter konstituen simbol):
\_<\s+\_>
Apakah saya melewatkan sesuatu? Bagaimana cara mencocokkan simbol?
Perhatikan bahwa pencocokan kata-kata tidak cocok untuk saya. Contoh sepele adalah sesuatu seperti foo-bar
itu adalah simbol dalam mode Emacs Lisp, tetapi bukan kata (karena -
bukan karakter kata-penyusun).
sumber
(re-search-forward "\\_<\\(?:\\sw\\|\\s_\\)+\\_>" nil t)
. Ini bekerja, tetapi saya bertanya-tanya sendiri apakah ada cara yang lebih pendek.\s
sebenarnya berarti, karena sama sekali berbeda dengan asumsi Anda.\s
ada artinya di Emacs regexps, saya hanya mengambil simbol itu misalnya.Jawaban:
Ada apa dengan ini
\_<.*?\_>
?sumber