在Perl中,我们可以做到这一点
$str =~ /\d{3}\Q(a.o.e).u.i.y\E\w+/;
其中,在\Q
和\E
之间,(a.o.e).u.i.y
是一个文字字符串,其中所有元字符(如括号和点)都被视为文字字符。 C ++ 11正则表达式或Boost正则表达式的对应语法是什么?感谢。
答案 0 :(得分:1)
不,C ++正则表达式不支持\ Q和\ E转义序列。您需要手动转义所有在正则表达式中具有特殊含义的特殊字符。在您的示例中,您需要转义(,)和。
你可以在C ++ 11中重写上面的正则表达式
std::regex re(R"(\d{3}\(a\.o\.e\)\.u\.i\.y\w+)");