在字符串中的一行中搜索大于0的数字
Search a line in a string for a number greater than 0
我有一个std::字符串,其中有一个类似的文本
name0 0x3f700000 0x160000 1 0
或
name1 0x3f700000 0x760000 0 23
等等。。
我想知道的是,这一行中的最后一个数字是否大于0,而之前的数字是否为1。
我这样做了,但不起作用,总是会得到匹配。
std::regex_search(buffer, match, std::regex(std::string("(^|n)") +
m_name + " [0-9a-fA-Fx]* [0-9a-fA-Fx]* 1 [1-9a-fA-Fx]*"));
你能说出错误在哪里吗?它似乎知道之前的数字是1,但最后一个数字似乎出错了。
您可以使用
[1-9][0-9]*$
检查数字是否大于0
它做什么
[1-9]
匹配1
到9
。[0-9]*
匹配零位或多位$
匹配字符串的末尾。
完整的正则表达式可以是
name0 [0-9a-fA-Fx]* [0-9a-fA-Fx]* 1 [1-9][0-9]*$
Regex演示
您可以使用此regex
1s+[1-9]d*$
Regex演示
或者更具体地说
^named+s+0x[0-9a-f]+s+0x[0-9a-f]+s+1s+[1-9]d*$
Regex演示
相关文章:
- 有根的二进制搜索树.保留与其父级的链接
- 大于65535的C++数组[size]引发不一致的溢出
- 查找最接近的大于当前数字的数字的索引
- 在C++中搜索嵌套多映射值
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 二进制搜索树叶数问题
- 为什么二进制搜索在我的测试中不起作用
- 正在尝试重载二进制搜索树分配运算符
- c++binary_search函数排序数组(流行名称搜索)出现问题
- 向量上的线性搜索
- 如何在动态数组上使用搜索函数
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- cmake:添加要搜索头文件的目录
- 使用C++创建特殊的二叉搜索树
- 在C++的字符串中搜索和删除某些字符
- std::unordered_map 搜索算法是如何实现的?
- 如何找到大于整数的最小数字
- 对大于属性的元素的矢量对象进行二进制搜索
- 在字符串中的一行中搜索大于0的数字
- 使用 STL 映射/集合/多重集/多重映射,如何查找大于或等于搜索键的第一个值