正则表达式和Boost

时间:2012-09-28 12:30:32

标签: c++ regex boost

我在boost中遇到以下正则表达式的问题:

const boost::regex eComment("^\/\*[\s\S]*?\*\/|^\/\/");

当我使用此正则表达式运行程序时,它会中止并显示消息:

terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::regex_error> >'

what():  Invalid preceding regular expression prior to repetition operator.  
The error occured while parsing the regular expression: '^/*[sS]*?*>>>HERE>>>/|^//'.

此正则表达式应在*.cpp文件中找到带注释的行,但如果该行中有代码,则应跳过。

1 个答案:

答案 0 :(得分:3)

我认为问题是你忘了逃避反斜杠字符。每个反斜杠应加倍,如\\ s \\ S而不是\ s \ S

希望有所帮助