定义一个将选择适当列的正则表达式。例如,要选择第三列(假设列仅包含字母以使示例清晰),您可以执行类似的操作"\(?:[a-z]+ \)\{2\}\([a-z]+\)"
,然后在第一组上进行匹配。
当然,您可以通过使用format
并传递一些参数来创建这样的字符串,以获得更大的灵活性。
(font-lock-add-keywords nil '(("\\(?:[a-z]+ \\)\\{2\\}\\([a-z]+\\)" 1 font-lock-warning-face)))
作为另一个方向,在空白模式中找到了以下代码,它突出显示了某个数字上的字符:
;; Show "long" lines
(list
(let ((line-column (or whitespace-line-column fill-column)))
(format
"^\\([^\t\n]\\{%s\\}\\|[^\t\n]\\{0,%s\\}\t\\)\\{%d\\}%s\\(.+\\)$"
whitespace-tab-width
(1- whitespace-tab-width)
(/ line-column whitespace-tab-width)
(let ((rem (% line-column whitespace-tab-width)))
(if (zerop rem)
""
(format ".\\{%d\\}" rem)))))
(if (memq 'lines whitespace-active-style)
0 ; whole line
2) ; line tail
whitespace-line t)