stl regex捕获浮点数
时间: 2023-07-16 07:16:35 浏览: 130
C++标准库STL源码
使用STL的regex库来捕获浮点数可以使用以下正则表达式:
```c++
#include <regex>
#include <iostream>
#include <string>
int main() {
std::string s = "The price of the product is $4.99.";
std::regex r(R"(\$([0-9]+(\.[0-9]{1,2})?))");
std::smatch m;
if (std::regex_search(s, m, r)) {
std::cout << "Price: " << m[1] << std::endl;
}
return 0;
}
```
这个正则表达式使用`\$`匹配美元符号,然后使用`[0-9]+`匹配一个或多个数字。接着,使用`(\.[0-9]{1,2})?`匹配一个小数点和一到两个数字,并将它们封装在一个可选的捕获组中。最后,`m[1]`将包含捕获的浮点数。
阅读全文