regex C++判断字符串是否属于 json
时间: 2023-12-07 13:03:54 浏览: 129
可以使用 C++ 中的正则表达式库 `regex` 来判断一个字符串是否符合 JSON 格式。以下是一个示例代码:
```cpp
#include <regex>
#include <iostream>
bool isJson(const std::string& str) {
const std::regex pattern(R"(\s*\{.*\}\s*)");
return std::regex_match(str, pattern);
}
int main() {
std::string str = R"({"name": "John", "age": 30, "city": "New York"})";
if (isJson(str)) {
std::cout << "The string is a valid JSON." << std::endl;
} else {
std::cout << "The string is not a valid JSON." << std::endl;
}
return 0;
}
```
该代码中,我们使用了一个正则表达式来匹配 JSON 格式的字符串。其中 `R"(\s*\{.*\}\s*)"` 表示一个原始字符串,其内容为 `\s*\{.*\}\s*`,该正则表达式可以匹配以 `{` 开头,以 `}` 结尾,中间可以包含任意字符的字符串。`std::regex_match` 函数可以用来判断一个字符串是否符合正则表达式的规则。如果符合,则返回 `true`,否则返回 `false`。
阅读全文