|
|
2
7
这种类型的操作不能与正则表达式一起使用。C++不是正则语言,因此不能用正则表达式可靠地解析。这里最安全的方法是使用一个实际的解析器来定位C++元素。 如果100%正确性不是一个目标,那么正则表达式将工作,因为它可以被精心设计以捕获代码基中的大多数情况。最简单的例子如下
但是它将不正确地将以下内容作为类进行匹配
|
|
4
0
我正在编写一个Python程序,从一个大杂乱的C++源树中提取一些重要的类信息。我在使用regex方面运气很好。幸运的是,几乎所有的代码都遵循这样一种风格:我只需定义几个正则表达式就可以检测类声明、方法等。大多数成员变量都有“itssange”或“m_something”这样的名称。我在硬编码的黑客工作中游手好闲,捕捉任何不符合风格的东西。
这是一个正在进行的工作,但是我将展示这个(可能是错误的)(不,几乎肯定是错误的)代码片段来展示正则表达式是如何使用的:
我希望这很容易理解并翻译成其他语言,至少对于那些疯狂到想尝试的人来说是一个起点。使用风险自负。 |
|
|
DotFX · RegEx捕获关键字前但括号后的所有内容 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |
|
|
iato · 确保正则表达式不从命名材料中的数字中提取 1 年前 |
|
|
vr8ce · 非成对标记中特定字符的正则表达式 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |