
正则表达式问题,关于小括号的。
程序如下:stringstr="玉泉营南300米星海大厦";regexexp("(南\d{1,10}米)");regex_replace(str,exp,"($1)",b...
程序如下:
string str="玉泉营南300米星海大厦";
regex exp("(南\d{1,10}米)");
regex_replace(str,exp,"($1)",boost::match_extra| boost::format_all);
程序的意思是想把="玉泉营南300米星海大厦",替换成="玉泉营(南300米)星海大厦"
但是,没有给“南300米”加上括号。
这个政策替换应该怎么写呢? 展开
string str="玉泉营南300米星海大厦";
regex exp("(南\d{1,10}米)");
regex_replace(str,exp,"($1)",boost::match_extra| boost::format_all);
程序的意思是想把="玉泉营南300米星海大厦",替换成="玉泉营(南300米)星海大厦"
但是,没有给“南300米”加上括号。
这个政策替换应该怎么写呢? 展开
3个回答
展开全部
regex_replace(str,exp,"\($1\)",boost::match_extra| boost::format_all);
这样?
这样?
追问
regex_replace(str,exp,"\\($1\\)",boost::match_extra| boost::format_all);
这样就对了!
展开全部
查找
[\(\)()]+
替换成空字符串
[\(\)()]+
替换成空字符串
更多追问追答
追问
能说详细点吗,不是很明白,谢谢
追答
英文的小夸号在正则表达式中有特殊的意义(取分组),你如果要匹配小夸号这个字符的话,需要转义,也就是\(和\),而(和)是我给你另外加上的,考虑到你有可能能需要匹配中文的小夸号。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用替换:“南300米”,替换为“(南300米)”。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询