我想查找三引号单行文档字符串的所有实例:
def foo(bar):
"""Frobnicate bar."""
...
并将尾随三重引号放在新行上:
def foo(bar):
"""Frobnicate bar.
"""
...
即。第二组引号在其自己的行上(三引号也可以拼写为'''...'''
。
我在分组parens方面遇到了麻烦,即
(defun single-line-tqstring ()
(interactive)
(re-search-forward
"^ +\"\"\".*\"\"\"$"))
将找到单行三引号字符串的下一个实例。为了解释不同的引号并保存缩进,我需要创建一些组,但是这找不到任何内容:
(defun single-line-tqstring ()
(interactive)
(re-search-forward
"^\( +\)\([\"']\{3\}\).*\2$"))
single-line-tqstring: Search failed: "^( +)([\"']{3}).*^B$"
我是否完全误解了语法?
答案 0 :(得分:1)
好的,所以我找到了解决方案
(defun fix-single-line-tqstring ()
(interactive)
(replace-regexp
"^\\( +\\)\\([\"']\\{3\\}\\)\\([^\n]*\\)\\2$"
"\\1\\2\\3\n\\1\\2"))
虽然反斜杠有点令人目眩......(我确定必须有更好的方法来做这个......?)