问题描述
- C++使用正则表达式出现错误
- 我要提取这个:20110604-092737<INFO :0xb7f2a6d0>
代码如下:
#include <string>#include <iostream>#include <regex>#include <stdio.h>int main(){ std::string str = ""20110604-092737<INFO :0xb7f2a6d0>: Player logout: 忘了爱过谁""; std::regex rgx(""^[d-d<ws{01}:w>]""); std::smatch result; if (std::regex_search(str result rgx)) { std::cout << result.str(); }}
解决方案
在vc2010下运行通过,这个更简洁:
std::regex rgx(""^d*-d*<w*s{01}:w*>"");
解决方案二:
正则就没有写对
d{8}-d{6}<\INFOs:0x[0-9a-fA-F]{8}>
解决方案三:
现学现卖,最后就这样了:
std::regex rgx(""d*-d*<w* :w*>"");
解决方案四:
std::regex rgx(""^[d]*[-][d]*[<][w]*[s{01}][:][w]*[>]"");
解决方案五:
C++中的也能使用正则表达式
正则表达式及在c++上的使用
时间: 2024-10-30 18:34:10