c++ - Qt 中的正则表达式不匹配它应该匹配的字符串

标签 c++ regex qt

所以我有一个函数,我们称之为 getMatch。我写了一个正则表达式来匹配它接收到的字符串,但是 Qt 正则表达式引擎没有像我期望的那样匹配它。

为了演示,这里有一些代码:

bool getMatch()
{
    QString item = "BitwiseAND(Value, Mask)";
    QRegExp rx("\\w+\\([\\w+,\\s]+?\\)", Qt::CaseInsensitive);

    return rx.exactMatch(item);
}

这应该每次都返回 true,但它返回 false。

我已经在在线测试仪上测试了正则表达式,应该没问题。

最佳答案

我觉得你想要什么is this :

\\w+\\((\\w+(?:,\\s)?)+\\)

您的正则表达式使用 [ 而不是 (,但这是一个字符类,而您所做的只是分组和量化

关于c++ - Qt 中的正则表达式不匹配它应该匹配的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41104910/

相关文章:

c++ - 禁用 C++ vector 的边界检查

c++ - 为什么 "error: invalid application of ' sizeof' 为使用 unique_ptr 的不完整类型”通过添加空析构函数来修复?

python - 如何清理元组并将其插入 csv 文件中?

java - 当我尝试打印所有组时,我得到 "IndexOutOfBoundsException: No group 4"

c++ - 将 QImage* 转换为 void* ,反之亦然

c++ - 在结构中初始化结构

C++ 比较 vector

c++ - 正则表达式,包含名称 + "string"+ 数字,仅此而已

qt - Windows Phone 8是否支持Qt?

Qt 与 WebAssembly 设置问题