gpt4 book ai didi

c++ - 正则表达式的开发人员

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:26:12 26 4
gpt4 key购买 nike

我一直在尝试找出一个正则表达式,让我可以在自动跳过注释的同时搜索特定的字符串。有人有这样的 RE 或知道一个吗?它甚至不需要复杂到可以跳过 #if 0 block ;我只是想让它跳过 ///* block 。相反,仅在评论 block 内搜索,也将非常有用。

环境:VS 2003

最佳答案

这是一个比乍看起来更难的问题,因为您需要考虑字符串内的注释标记、本身被注释掉的注释标记等。

我为 C# 编写了一个字符串和注释解析器,让我看看是否可以挖掘出一些有用的东西......如果我找到任何东西,我会更新。

编辑:... 好的,所以我找到了我的旧“codemasker”项目。事实证明,我是分阶段完成的,而不是使用单个正则表达式。基本上,我在一个源文件中寻找开始标记,当我找到一个时,我会寻找一个结束标记并屏蔽其间的所有内容。这考虑了开始标记的上下文...如果您找到“字符串开始”的标记,那么您可以安全地忽略注释标记,直到找到字符串的结尾,反之亦然。一旦代码被屏蔽(我使用 guids 作为屏蔽,并使用哈希表进行跟踪),您就可以安全地进行搜索和替换,然后最终恢复屏蔽的代码。

希望对您有所帮助。

关于c++ - 正则表达式的开发人员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com