我编造了下面的正则表达式,它应该在第二个到第二个}
之前的视图中给我所有文本:
region = currentView.find("(?<=\\})[^\\}]+\\}[^\\}]*$", 0)
Sublime Text似乎并不认为$
表示“视图中的任何内容的结尾”。说实话,我不太明白Sublime Text认为它意味着什么。
我的正则表达似乎有效,如regexr.com上所示。
我找到了一个解决方法,我现在可以忍受我的特殊情况:
regions = currentView.find_all("\}")
if len(regions) > 1:
# stuff I am doing with regions[-2] goes here
但我想知道可能是否与视图内容的结尾匹配。
答案 0 :(得分:8)
$
可以表示行尾或输入的结尾,具体取决于传入的引擎和修饰符标志。快速查看Sublime的doc文档显示它支持\z
边界,明确表示“输入缓冲区的结束”。因此,请尝试使用$
替换最终的\z
,看看是否有帮助。