Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于提取括号内所有内容的正则表达式 我需要从C++中的字符串中提取括号()的内容;p>_C++_Regex_String - Fatal编程技术网

用于提取括号内所有内容的正则表达式 我需要从C++中的字符串中提取括号()的内容;p>

用于提取括号内所有内容的正则表达式 我需要从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]中。第

#82=IFCClassionReference($,'E05.11.a','矩形',#28)

我试着遵循正则表达式,但它给出了一个完整的括号输出

std::regex e2 ("\\((.*?)\\)");
if (std::regex_search(sLine,m,e2)){
}
输出应为:

 $,'E05.11.a','Rectangular',#28

使用lookaheads:
”(?使用lookaheads:
”(?
(?您要查找的结果应该在第一个匹配的子表达式中,即包含在
[[1]中。第一,m[1]。第二)
间隔中


这是因为您的正则表达式也匹配圆括号,但您指定了一个分组子表达式,即
(.*?
。这里是一些的起点。您要查找的结果应该在第一个匹配的子表达式中,即包含在
[[1]中。首先,m[1]。其次)
间隔中


这是因为您的正则表达式也匹配圆括号,但您指定了一个分组子表达式,即
(.*?
。这里是一些被称为圆括号的

的起点。
*?
应该是
[^\)]*
,不是吗。就一般知识而言,这些被称为括号。
*?
应该是
[^\)]*
,不是吗。
(?<=\().*(?=\))