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

标签 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, "%*[^[][%1023[^]]", temp);

注意额外的 [ 代表它自己。

关于c++ - 如何使用正则表达式中的 sscanf() 解析字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21621004/

相关文章:

c++ - Eigen::Vector3f 对齐

javascript - 用于字符串格式化的用户可自定义正则表达式

Python,正则表达式,提取大括号内的分组电子邮件

linux - 自动建立ssh-tunnel,等待ssh-tunnel建立后,建立正常的VPN连接

linux - netcat:监听通过 WAN 传入的连接

C++11 lambda : mixed capture list

c++ - 在 C++ <process.h> 中的头文件的 cpp 文件中启动一个线程

c++ - 从文件构建 Boost 图(邻接表)

javascript -\\$& in "str.replace(specials, "\\$ &")"是什么意思?

linux - Shell 命令在目录模式中查找文件