C++ 如何使用正则表达式中的sscanf()解析字符串?

C++ 如何使用正则表达式中的sscanf()解析字符串?,c++,regex,linux,scanf,C++,Regex,Linux,Scanf,下面是我的字符串 const char* str = "./a.out(__gxx_personality_v0+0x35d) [0x400e5d]"; 我只想得到“0x400e5d”字符串,即括在[和]括号中的子字符串 我尝试了以下操作,但没有成功: char temp[1024]; sscanf(symbol, "%*[^[]%1023[^]]", temp); 但是它给出了“[0x400e5d”输出。如何避免输出中的“[”?阅读[: sscanf(symbol, "%*[^[][%

下面是我的字符串

const char* str = "./a.out(__gxx_personality_v0+0x35d) [0x400e5d]";
我只想得到“0x400e5d”字符串,即括在[和]括号中的子字符串

我尝试了以下操作,但没有成功:

 char temp[1024];
 sscanf(symbol, "%*[^[]%1023[^]]", temp);

但是它给出了“[0x400e5d”输出。如何避免输出中的“[”?

阅读
[

sscanf(symbol, "%*[^[][%1023[^]]", temp);
注意额外的
[
表示它自己