C正则表达式字符类不匹配

前端之家收集整理的这篇文章主要介绍了C正则表达式字符类不匹配前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Trouble with C++ Regex POSIX character class3个
根据我的研究,表达式“[: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:]]是一个匹配任何字母字符的字符类.阅读ref中的更多内容.

猜你在找的C&C++相关文章