【发布时间】:2014-09-22 16:15:13
【问题描述】:
我正在寻找一种方法来匹配一个完整的类,从第一个括号开始,到右括号结束。我需要这个作为加载项,以限制加载项应该应用到的区域。我的问题是,在这些类中,可能有额外的“子类”,也有括号打开和关闭。我需要一种方法来计算它们并忽略它们,直到找到第一类的右括号。
例子:
public class Test
**{**
doSomeThing();
private partial class Test2
{
doSomeThing2();
}
**}**
我需要从第一个标记的括号到最后一个括号的匹配项。
感谢您的帮助!
【问题讨论】:
-
Regex here?.这是一个非常糟糕的主意。在它爆炸之前放弃这种方法。
-
我不认为用正则表达式解析 C# 语法是个好主意。我会使用
Roslyn:stackoverflow.com/questions/16338131/… -
Regex 会为我提供课程的确切开始和结束索引,这正是我正在寻找的。span>
-
@T4R3K 为什么需要类的开始和结束索引?
-
@Rawling 我正在开发一个 Visual Studio 插件,它在当前打开的文档的代码中“编辑、排序和查找某些内容”。整个加载项工作正常,但我唯一的问题是加载项正在查看当前打开的整个文档,Regex 需要很长时间才能查看它。我希望用户指定加载项应在哪个类中查找。