我的评论和字符串中包含西里尔字符的源代码。 MSVC允许标识符中的西里尔字符。如何找到忽略所有注释和字符串的所有西里尔字符?我想在不使用gcc或脚本的情况下完成此操作,完美地使用简单的正则表达式搜索。找到评论/*.*?*/并不难,但是如何找到不在评论中的内容而不是ASCII字符集?
答案 0 :(得分:0)
让我们假设所有注释都表现得像'//' - 即使是'/ * comment * /' - 在某种意义上说,一旦评论开始,你就不会有更多的代码同一行。尝试通过以下方式管理源文件:
perl -lne 'print $1 if m{^([^/]+)(?:/[/*])?}'
除了评论之外,这将为您提供一切。
剩下的问题是字符集的功能。如果是Windows-1251,您可以查找这样的模式:'[^\x00-\x7f]+'