C++ Qt中的正则表达式与它应该使用的字符串不匹配
所以我有一个函数,我们把它叫做getMatch。我编写了一个正则表达式来匹配它接收到的字符串,但是Qt正则表达式引擎没有像我期望的那样匹配它 为了便于演示,下面是一些代码:C++ Qt中的正则表达式与它应该使用的字符串不匹配,c++,regex,qt,C++,Regex,Qt,所以我有一个函数,我们把它叫做getMatch。我编写了一个正则表达式来匹配它接收到的字符串,但是Qt正则表达式引擎没有像我期望的那样匹配它 为了便于演示,下面是一些代码: bool getMatch() { QString item = "BitwiseAND(Value, Mask)"; QRegExp rx("\\w+\\([\\w+,\\s]+?\\)", Qt::CaseInsensitive); return rx.exactMatch(item); }
bool getMatch()
{
QString item = "BitwiseAND(Value, Mask)";
QRegExp rx("\\w+\\([\\w+,\\s]+?\\)", Qt::CaseInsensitive);
return rx.exactMatch(item);
}
每次都应该返回true,但返回false
我已经在在线测试员中测试了regex,应该可以了。我想你想要什么:
\\w+\\(\\w+(?:,\\s)?)+\\)
您的正则表达式使用的是[
而不是(
),但这是一个字符类,而您所做的只是分组和量化。我想您想要的是:
\\w+\\(\\w+(?:,\\s)?)+\\)
您的正则表达式使用的是[
而不是(
),但这是一个字符类,而您所做的只是分组和量化