QRegularExpression 计数出现次数
QRegularExpression count number of occurrences
我有一个 QString,我想在 QString 中计算 2 个东西:
a) 特殊字符数
b) 连续2个字符的数量
对于第一个,我尝试了这个:
QRegularExpression var1("[QRegularExpression var1("[$&+,:;=?@#|'<>.^*()%!-]");
myString.count(var1);
+,:;=?@#|'<>.^*()%!-]");
myString.count(var1);
我不知道如何计算反斜杠和斜杠字符,我不确定这是否是检查 ALL 特殊字符的方法。
第二个我试过这个:
QRegularExpression var2("([a-z\d])\1\1");
myString.count(var2);
还有这个:
QRegularExpression var2("([a-zA-Z0-9\d])\1\1");
myString.count(var2);
根本不起作用。
请指教,我需要QString中的连续字符数和特殊字符数。
第一个。请试试这个。
QRegularExpression var1("[$&+,:;=?@#|'<>.^*()%!-/\\]");
您可以像其他字符一样按 1 个斜杠来计算斜杠。
要合并反斜杠字符,您需要 4 个反斜杠。在正则表达式中,您需要转义反斜杠字符以匹配反斜杠字符 (\\)。在 C++ 中,您还需要转义这 2 个反斜杠。因此,您需要 4 个反斜杠。
对于第二个,你只需要一个 \\1 来匹配连续的 2 个字符。 \\1 表示第一个匹配组的相同字符,因此您的正则表达式实际上匹配连续的 3 个字符。
QRegularExpression var2("([a-z\d])\1");
我有一个 QString,我想在 QString 中计算 2 个东西:
a) 特殊字符数
b) 连续2个字符的数量
对于第一个,我尝试了这个:
QRegularExpression var1("[QRegularExpression var1("[$&+,:;=?@#|'<>.^*()%!-]");
myString.count(var1);
+,:;=?@#|'<>.^*()%!-]");
myString.count(var1);
我不知道如何计算反斜杠和斜杠字符,我不确定这是否是检查 ALL 特殊字符的方法。
第二个我试过这个:
QRegularExpression var2("([a-z\d])\1\1");
myString.count(var2);
还有这个:
QRegularExpression var2("([a-zA-Z0-9\d])\1\1");
myString.count(var2);
根本不起作用。
请指教,我需要QString中的连续字符数和特殊字符数。
第一个。请试试这个。
QRegularExpression var1("[$&+,:;=?@#|'<>.^*()%!-/\\]");
您可以像其他字符一样按 1 个斜杠来计算斜杠。 要合并反斜杠字符,您需要 4 个反斜杠。在正则表达式中,您需要转义反斜杠字符以匹配反斜杠字符 (\\)。在 C++ 中,您还需要转义这 2 个反斜杠。因此,您需要 4 个反斜杠。
对于第二个,你只需要一个 \\1 来匹配连续的 2 个字符。 \\1 表示第一个匹配组的相同字符,因此您的正则表达式实际上匹配连续的 3 个字符。
QRegularExpression var2("([a-z\d])\1");