在regex cpp中使用变量

时间:2018-02-22 19:22:40

标签: c++ regex

我有一个字符串:

string str1= "hello"; 
string str2="hel"; 

我这样做是为了看看str1中是否有str2:

regex e = str2+"*"
 bool x=regex_match(str1,e); 
cout<<x; 

我得到了这个:错误:转换为&#39; std :: __ cxx11 :: basic_string&#39;到非标量类型&#39; std :: __ cxx11 :: regex {aka std :: __ cxx11 :: basic_regex}&#39;请求正则表达式e = str2 +&#34;&#34 ;;

如何在我的正则表达式中使用变量。有人可以告诉我我哪里错了吗? TIA。

1 个答案:

答案 0 :(得分:5)

查看有关regex

的构造函数的参考资料
template <class ST, class SA>
explicit basic_regex ( const basic_string<charT,ST,SA>& str, flag_type flags = 
 ECMAScript );

构造函数是显式的,所以你应该写

    regex e(str2+"*");

不是

    regex e = str2+"*";