如何在boost regex_search中获取原始字符串前缀
How to get original string prefix in boost regex_search
我在boost中使用regex_search,如下所示:
std::string symbol = "abcd1234";
boost::regex regExpr("(\d{4})", boost::regex::icase);
boost::smatch regMatch;
boost::regex_search(symbol, regMatch, regExpr);
我需要得到的是:"abcd",即到第一个匹配的reg表达式的原始字符串。这怎么可能?提前感谢。。。
以下内容应该有效:
^(.*?)\d{4}
解释:
^
-字符串的开头.
-通配符.*?
-零个或多个(*
)外卡(.
),非贪婪匹配(?
),因此您获得第一个匹配,而不是最后一个
因此,您可以匹配从字符串开头到数字的所有内容。
使用增强功能的替代方案:
regMatch.prefix()
应返回所需的字符串。
相关文章:
- 是否可以从 OpenGL 缓冲区获取原始大小的像素?
- 从shared_ptr获取原始指针以将其传递给需要 raw 的函数
- 包装 C API 通过C++接受迭代器的函数获取原始指针
- 打印可以重复以获取原始字符串的最小字符串
- 通过串口发送后无法获取原始值
- 如何从 GDI+ 图元文件对象获取原始图元文件字节
- 在哪里可以从Android框架中获取原始的PCM数据
- 如何从C 中的卷曲中获取原始数据
- 在模板实例化期间获取原始结构/类名C++
- 如何获取原始终结点
- 如何在用户修改后使用旧版驱动程序中的 PE 标头获取原始文件类型
- 获取原始密钥,就像没有移位修饰符一样
- 从reinterpret_cast获取原始char*值
- 如何使用JNI + OpenCV + NDK获取原始的android相机传感器图像数据
- c++从hbitmap获取原始像素数据
- 如何在 INFLATE 后获取原始文件扩展名
- libpng获取原始颜色通道深度
- 在Qt中获取原始鼠标移动
- 如何使用 C/C++获取原始相机数据
- 从Qt应用程序获取原始数据包数据