首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QRegularExpression计数事件数

QRegularExpression计数事件数
EN

Stack Overflow用户
提问于 2015-01-06 03:33:21
回答 1查看 1.2K关注 0票数 3

我有一个QString,我想在QString中计算2件事:

( a)特殊字符数

( b)连续2个字符数

第一次我试了这个:

代码语言:javascript
复制
QRegularExpression var1("[$&+,:;=?@#|'<>.^*()%!-]");
myString.count(var1);

我不知道如何计算反斜杠和斜杠字符,我也不确定这是否是检查所有特殊字符的方法。

第二次,我试过这样做:

代码语言:javascript
复制
QRegularExpression var2("([a-z\\d])\\1\\1");
myString.count(var2);

此外,这也是:

代码语言:javascript
复制
QRegularExpression var2("([a-zA-Z0-9\\d])\\1\\1");
myString.count(var2);

根本不起作用。

请注意,我需要QString中的连续字符数和特殊字符数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-08 08:11:03

第一个。请尝尝这个。

代码语言:javascript
复制
  QRegularExpression var1("[$&+,:;=?@#|'<>.^*()%!-/\\\\]");

和其他字符一样,你可以用一个斜杠来计数斜杠。要计数反斜杠字符,您需要4个反斜杠。在正则表达式中,您需要转义反斜杠char来匹配反斜杠char(\)。在C++中,您还需要避开这两个反斜杠。因此,您需要4个反斜杠。

对于第二个字符,只需要一个\1就可以匹配连续的2个字符。1表示第一个匹配组的相同字符,因此您的正则表达式实际上匹配连续的3个字符。

代码语言:javascript
复制
  QRegularExpression var2("([a-z\\d])\\1");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27791683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档