我正在尝试在emacs(python-mode)中为Python文档字符串添加一个特殊标记.
目前我能够提取一行:
(font-lock-add-keywords
'python-mode
'(("\\(\"\\{3\\}\\.+\"\\{3\\}\\)"
1 font-lock-doc-face prepend)))
Run Code Online (Sandbox Code Playgroud)
这现在有效:
"""Foo"""
Run Code Online (Sandbox Code Playgroud)
但是很快就会有一个换行符:
"""
Foo
"""
Run Code Online (Sandbox Code Playgroud)
它不再起作用了.这是合乎逻辑的,因为.不包括换行符(\n).我应该使用角色类吗?
如何更正此正则表达式以包含之间的所有内容""" """?
提前致谢!
"\\(\"\\{3\\}\\(.*\n?\\)*?\"\\{3\\}\\)"
Run Code Online (Sandbox Code Playgroud)
这 ”*?” 构造是“*”的非贪婪版本。