5

我编写了以下正则表达式,它应该给我在倒数第二个之前的视图中的所有文本}

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

但我想知道是否可以匹配视图内容的结尾。

4

1 回答 1

10

$在正则表达式的末尾可以表示行尾或输入的结尾,具体取决于传入的引擎和修饰符标志。快速查看 Sublime 的文档表明它支持\z边界,这明确表示“输入缓冲区结束”。所以尝试用 , 替换你的最终$结果\z,看看是否有帮助。

于 2013-10-21T18:39:51.033 回答