正则表达式匹配函数...出于折叠目的结束函数?

Regex to match Function...End Function for folding purposes?

我使用 并且我正在尝试修改 "Outline" 设置以便我可以折叠 VBS 文件中的函数并且它们将显示在大纲中 window.这是对话框:

显然,我尝试了我能想到的最基本的方法,因为我不使用正则表达式,但它没有用。

如何匹配 FunctionEnd Function 之间的所有内容?

这里是 XML 配置的示例,它允许我折叠任何元素:

你是说像这样的正则表达式吗? Function(.*?)End Function

breakdown

it looks for Function then it will group all the characters . 0 or more time* the ? is to make it non greedy. once it sees End Function will close the group and let the end Function outside the group. the match is with the Function and End Function but the group is without them.

你可以在https://regex101.com/r/gY6sB8/1看到一个现场演示,其中的组就是函数本身

直接的解决方案是非贪婪的任意匹配:

/Function.*?End Function/

根据您的工具(我对 emeditor 不熟悉),“.”可能无法匹配换行符!在这种情况下,使用 [\s\S] 而不是 .。不要忘记 * 后面的 ?:

/Function[\s\S]*?End Function/