用于提取括号内所有内容的正则表达式 我需要从C++中的字符串中提取括号()的内容;p>
#82=IFCClassionReference($,'E05.11.a','矩形',#28)强> 我试着遵循正则表达式,但它给出了一个完整的括号输出用于提取括号内所有内容的正则表达式 我需要从C++中的字符串中提取括号()的内容;p>,c++,regex,string,C++,Regex,String,#82=IFCClassionReference($,'E05.11.a','矩形',#28) 我试着遵循正则表达式,但它给出了一个完整的括号输出 std::regex e2 ("\\((.*?)\\)"); if (std::regex_search(sLine,m,e2)){ } 输出应为: $,'E05.11.a','Rectangular',#28 使用lookaheads:”(?使用lookaheads:”(?(?您要查找的结果应该在第一个匹配的子表达式中,即包含在[[1]中。第
std::regex e2 ("\\((.*?)\\)");
if (std::regex_search(sLine,m,e2)){
}
输出应为:
$,'E05.11.a','Rectangular',#28
使用lookaheads:
”(?使用lookaheads:”(?(?您要查找的结果应该在第一个匹配的子表达式中,即包含在[[1]中。第一,m[1]。第二)
间隔中
这是因为您的正则表达式也匹配圆括号,但您指定了一个分组子表达式,即(.*?
。这里是一些的起点。您要查找的结果应该在第一个匹配的子表达式中,即包含在[[1]中。首先,m[1]。其次)
间隔中
这是因为您的正则表达式也匹配圆括号,但您指定了一个分组子表达式,即(.*?
。这里是一些被称为圆括号的的起点。*?
应该是[^\)]*
,不是吗。就一般知识而言,这些被称为括号。*?
应该是[^\)]*
,不是吗。
(?<=\().*(?=\))