我创建了一个 hpp 文件,我需要转发声明类,因为我不能假设它们当时被包含在内。
我有一个 typedef 的类,我想在文件中查找以找到这是 typedef 的行,以便我可以获得原始类或结构名称。
我怎样才能做到这一点?我要搜索: typedef "AnythingInBetween" 名称
我创建了一个 hpp 文件,我需要转发声明类,因为我不能假设它们当时被包含在内。
我有一个 typedef 的类,我想在文件中查找以找到这是 typedef 的行,以便我可以获得原始类或结构名称。
我怎样才能做到这一点?我要搜索: typedef "AnythingInBetween" 名称
试试下面的。
^\s*typedef\s+[a-z:<>.]+\s+thename
这将适用于它是与“名称”匹配的单个名称的 typedef 并且所有内容都发生在单行上的情况。这并不完全对应于 typedefs 的 C++ 语法(一个正则表达式根本不可能),但会捕获 90% 的情况
你需要什么风格的正则表达式?我猜这就是你需要的?
typedef\s"(.*?)"\sname
\s"(.*?)"\s
表示匹配一个空格字符后跟一个双引号,然后匹配任何内容,直到下一个双引号后跟一个空格