C++正则表达式字符类不匹配
C++ regex character class not matching
根据我的研究,表达式"[:alpha:]"将匹配任何字母字符,但表达式仅匹配小写字符,而不是大写字符。我不确定它有什么问题。
std::regex e ("[:alpha:]");
if(std::regex_match("A",e))
std::cout<<"hi";
else
std::cout<<"no";
更改以下内容:
std::regex e ("[:alpha:]");
自:
std::regex e ("[[:alpha:]]");
正如Adrian所说:请注意,类名中的括号是打开和关闭类定义的括号的附加项。例如:[[:alpha:]]
是匹配任何字母字符的字符类。在参考中阅读更多内容。
你必须使用[[:alpha:]]
查看在线示例
#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main() {
std::regex e ("[[:alpha:]]");
if(std::regex_match("A",e))
std::cout<<"hi";
else
std::cout<<"no";
return 0;
}
相关文章:
- Qt SQLite没有查询或参数计数不匹配
- 模板参数推导失败,函数参数/参数不匹配
- 在使用累加时,C++中的运算符+不匹配
- C++ 与操作员不匹配<<
- 在 Arduino 上使用 sscanf 会导致与 const char * 不匹配,并且返回值始终相同,尽管输入值不同
- 与'operator='不匹配(操作数类型'String'且"void")
- C++模板/别名 - 模板参数列表中参数 1 处的类型/值不匹配
- C4018:类内有符号、无符号不匹配
- 我在 .h 中有一个枚举类,并且在.cpp错误中有一个运算符重载:与"运算符<<不匹配
- 为什么我收到错误:"运算符<<不匹配?
- RE2 不匹配非 ASCII 字符
- 函数签名与调用的函数不匹配,常量字符[]和字符*之间的区别?
- C++正则表达式字符类不匹配
- 使用 strcmp() 比较 c 样式字符数组时不匹配
- 尝试使用 fstream 将字符写入文件:'operator<<'不匹配
- C++ 错误:与调用<类构造函数(字符*&、字符*&、字符*&、字符*&)不匹配
- C++ 错误:对 '(std::string {aka std::basic_string}) (<char>无符号整数、字符)的调用不匹配
- 与'operator[]'不匹配(操作数类型为 'QVariant' 和"常量字符 [2]") QVariant/QVariantMap
- C++Qt RegExp与@、|或^等特殊字符不匹配
- 如果字符位于引号之间,则不匹配(AKA具有编程字符串模式)