gpt4 book ai didi

c++ - 在带有非 ASCII 注释的 C++ 代码中查找非 ASCII 字符的出现

转载 作者:太空宇宙 更新时间:2023-11-04 14:16:29 25 4
gpt4 key购买 nike

我的源代码在注释和字符串中包含西里尔字符。 MSVC 允许在标识符中使用西里尔字符。如何找到所有忽略所有注释和字符串的西里尔字符?我想在不使用 gcc 或脚本的情况下完成此操作,完美地使用简单的正则表达式搜索。查找注释/*.*?*/并不难,但是如何查找注释中没有的内容,而不是来自 ASCII 字符集的内容呢?

最佳答案

让我们假设所有注释的行为都像“//”——即使是“/* comment */”——从某种意义上说,一旦注释开始,您将不会在注释之后有更多代码同一条线。尝试通过此管道传输您的源文件:

perl -lne 'print $1 if m{^([^/]+)(?:/[/*])?}'

这将为您带来除评论之外的一切。

剩下的问题是字符集的功能。如果是 Windows-1251,您可以查找这样的模式:'[^\x00-\x7f]+'

关于c++ - 在带有非 ASCII 注释的 C++ 代码中查找非 ASCII 字符的出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10727687/

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