|
|
1
3
这是一个比最初可能出现的问题更难解决的问题,因为您需要考虑字符串中的注释标记、注释标记本身被注释掉等等。 我为C编写了一个字符串和注释分析器,让我看看是否可以挖掘出一些有用的东西…如果有发现我会更新的。 编辑: …好吧,所以我找到了我以前的“代码屏蔽”项目。结果证明我是分阶段做的,不是用一个正则表达式。基本上,我浏览一个源文件,寻找开始标记,当我找到一个时,我就寻找结束标记,并屏蔽其中的所有内容。这考虑到启动令牌的上下文…如果您找到了“字符串开始”的标记,那么可以安全地忽略注释标记,直到找到字符串的结尾,反之亦然。一旦代码被屏蔽(我使用guid作为屏蔽,并使用hashtable来跟踪),那么您就可以安全地进行搜索和替换,最后恢复被屏蔽的代码。 希望有帮助。 |
|
|
2
2
特别小心绳子。字符串通常有转义序列,在查找它们的结尾时,也必须尊重这些转义序列。
因此,例如
总之,做一些残酷的单元测试! |
|
|
3
2
regexp不是该作业的最佳工具。 Perl FAQ : C评论:
C++注释:
|
|
|
4
1
我会做一份副本,先去掉注释,然后按常规方式搜索字符串。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |