在c++;? 是否可以在C++中为正则表达式直接编写注释?我发现Python中的多行可注释正则表达式在以后的可读性和可维护性方面非常好。否则,为正则表达式编写注释的规范方法是什么 对不起,这可能是一个重复的问题,但是我的搜索只是打开C++的正则表达式来找到C风格的注释……/p>< p>如果正则表达式被输入为一个常规的C++字符串,那么它很容易。两个引用的字符串在C++中彼此相邻,自动地合并成一个大字符串,即使注释是混合的。因此: "^Hello " /* this is the first part of my regex */ "World!$" /* this is the second part of my regex */
相同地解析为:在c++;? 是否可以在C++中为正则表达式直接编写注释?我发现Python中的多行可注释正则表达式在以后的可读性和可维护性方面非常好。否则,为正则表达式编写注释的规范方法是什么 对不起,这可能是一个重复的问题,但是我的搜索只是打开C++的正则表达式来找到C风格的注释……/p>< p>如果正则表达式被输入为一个常规的C++字符串,那么它很容易。两个引用的字符串在C++中彼此相邻,自动地合并成一个大字符串,即使注释是混合的。因此: "^Hello " /* this is the first part of my regex */ "World!$" /* this is the second part of my regex */,c++,regex,C++,Regex,相同地解析为: "^Hello World!$" /* this is the whole regex on one line */ 这取决于您要评论的级别。断章取义 上面的正则表达式,解释它试图 比赛,可能是最重要的。但是如果你有 有些事情很复杂,你可以把这个表达式分解成 多个字符串文字(只有空格和 他们之间的评论)和评论: std::regex matchFloatingPointLiteral( "\\d+\\.\\d*(?:[Ee][+-]\\d+)?" //
"^Hello World!$" /* this is the whole regex on one line */
这取决于您要评论的级别。断章取义 上面的正则表达式,解释它试图 比赛,可能是最重要的。但是如果你有 有些事情很复杂,你可以把这个表达式分解成 多个字符串文字(只有空格和 他们之间的评论)和评论:
std::regex matchFloatingPointLiteral(
"\\d+\\.\\d*(?:[Ee][+-]\\d+)?" // matches forms starting with digit
"|" "\\.\\d+(?:[Ee][+-]\\d+)?" // matches forms starting with a .
"|" "\\d+?:[Ee][+-]\\d+" // matches forms with no decimal
);
这在正则表达式开始运行时非常有用
复杂。答案取决于您使用的正则表达式库?还有别的吗 Regex的Perl语法支持,尽管语法看起来没有Python的好。PCRE应该支持Python风格的注释。我在
std::regex
中没有看到任何关于注释的内容
否则,您有两个选择
首先,字符串连接非常简单
第二,在C++11中,您可以创建一个能够理解并删除注释的程序。哇,我不知道它们会自动合并。整洁的