Qt【正则表达式】匹配中文汉字,和字母,过滤中英文符号_qt 正则过滤中文标点符号_金士顿的博客-程序员秘密

技术标签: Qt  正则表达式  

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lilili1010101010/article/details/84028340
 QLineEdit *name_lineEdit = new QLineEdit;
QRegExp regx("^[\u4e00-\u9fa5a-zA-Z]+$");  //其中匹配中文[\u4e00-\u9fa5]
QValidator *validator = new QRegExpValidator(regx);
name_lineEdit->setValidator(validator);

上面这个正则表达式没有过滤掉中文符号,本想一个一个过滤,(如下),仍然无效

QRegExp regx("[^`~!@#$%^&*()-_+={}':;',\\[\\].<>/?¥……()——;’‘:“',。、?0-9]+$");
1
后响应QLineEdit 的textChanged的信号,在槽函数中过滤中文符号,成功!正则表达式无法过滤也因为编码问题。

connect(name_lineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotNameFilter(QString)));

void SearchCondWidget::slotNameFilter(QString s)   //SearchCondWidget我的类
{
    s.replace(QString::fromLocal8Bit("【"), "");
    s.replace(QString::fromLocal8Bit("】"), "");
    s.replace(QString::fromLocal8Bit("?"), "");
    s.replace(QString::fromLocal8Bit("!"), "");
    s.replace(QString::fromLocal8Bit("·"), "");
    s.replace(QString::fromLocal8Bit("¥"), "");
    s.replace(QString::fromLocal8Bit("……"), "");
    s.replace(QString::fromLocal8Bit("("), "");
    s.replace(QString::fromLocal8Bit(")"), "");
    s.replace(QString::fromLocal8Bit("——"), "");
    s.replace(QString::fromLocal8Bit("、"), "");
    s.replace(QString::fromLocal8Bit(":"), "");
    s.replace(QString::fromLocal8Bit(";"), "");
    s.replace(QString::fromLocal8Bit("“"), "");    //引号两边分开过滤
    s.replace(QString::fromLocal8Bit("”"), "");
    s.replace(QString::fromLocal8Bit("’"), "");    //引号两边分开过滤
    s.replace(QString::fromLocal8Bit("‘"), "");
    s.replace(QString::fromLocal8Bit("《"), "");
    s.replace(QString::fromLocal8Bit("》"), "");
    s.replace(QString::fromLocal8Bit(","), "");
    s.replace(QString::fromLocal8Bit("。"), "");
    name_lineEdit->setText(s);
}

其中这个双引号(“”)和单引号(‘’)两边要分开过滤
--------------------- 
版权声明:本文为CSDN博主「哒哒的九九」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lilili1010101010/article/details/84028340

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wojiuguowei/article/details/99574353

智能推荐

SQL子查询错误:[Err] 1054 - Unknown column ‘courseNumber‘ in ‘IN/ALL/ANY subquery‘_呆呆papa的博客-程序员秘密

1、错误代码select distinct * from studenttable where courseNumber in ( select courseNumber from coursetable where courseName = '高等数学')2、查找原因百度上暂时就发现了一个国外的网站上有关于这个错误的描述 【原网页】出现这个问题有两个原因:外部查询有 jockey 列,但是子查询中没有找到 jockey 列; 外部查询没有 jockey 列, 子查

Linux调试core文件的一些注意事项_上三行的博客-程序员秘密

前面转载了一篇文章关于core文件的产生和调试使用的设置,但在使用有一些需要注意的问题,如 在什么情况 才会正确地产生core文件。      列出一些常见问题:一,如何使用core文件1. 使用core文件在core文件所在目录下键入:gdb -c core它会启动GNU的调试器,来调试core文件,并且会显示生成此core文件的程序名,中

html 表格 分页源码,JS代码实现table数据分页效果_叶子虫的博客-程序员秘密

第一个:实现的很常见很简单的显示页数翻页效果图:•这是HTML代码,很简单滴(我好像看到了被嫌弃的小眼神)姓名性别编号年龄张三男tom男李四男二蛋男二丫女•下面就是JS代码了$(function(){var $table=$('table');//获取表格对象var currentPage=;//设置当前页默认值为var pageSize=;//设置每一页要显示的数目$table.bind('pa...

Win7 下使用 VS2015 交叉编译最新 libcurl 7.51.0(包含openssl-1.0.2j,zlib-1.2.8)_vs2015交叉编译_ELFive的博客-程序员秘密

本文参考了以下网友的辛勤劳动,在此我向你们表示感谢: http://blog.csdn.net/hujkay/article/details/18986153编译前的准备下载所需工具源码:ActivePerl http://www.activestate.com/activeperl/downloads 或者StrawbarryPerl,我没有尝试,请各位自行尝试,安装路径默认即可。zli

【菜鸟教程】Python 100例编程题--适合新手(1)_python100例_之外-的博客-程序员秘密

菜鸟教程100例题的解答,python 3.7及pycharm实现,可能代码并不是最简洁的,但一定通俗易懂,适合新手阅读。题目及代码如下:1.题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?for i in range(1,5): for j in range(1,5): for k in range(1,5): ...

随便推点

crc16-ccitt算法c语言,CCITT CRC-16 计算_想法臃肿的博客-程序员秘密

void CRC_calcCrc8(u16 *crcReg, u16 poly, u16 u8Data){u16 i;u16 xorFlag;u16 bit;u16 dcdBitMask = 0x80;for(i=0; i&lt;8; i++){// Get the carry bit. This determines if the polynomial should be// xor'd wit...

解决树莓派4B-64位更换清华源问题(GPG error:because the public key is not available)_风家一良的博客-程序员秘密

1、清华源官网教程:https://mirror.tuna.tsinghua.edu.cn/help/raspbian/查看 Raspbian 对应的 Debian 版本:[email protected]:~/home $ more /etc/debian_version11.2# 编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代:deb [arch=armhf] http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspb

aiku基于mini2440下裸机程序开发《概述与SDRAM运行》_aiku969的博客-程序员秘密

大家好,我是aiku,今天主要跟大家介绍一些 基于mini2440下裸机程序开发《概述与SDRAM运行》有什么问题:都可以联系我们,谢谢!我是aiku,本博客主要写一些我们的项目经验与大家分享,如有问题联系我们aiku的qq:1653687969欢迎加入【创科之龙】技术QQ群 234945702 大家一起交流学习嵌入式。     以前开发arm裸机程序都是在ADS1.2开发环境

程序员壁纸_weixin_33858485的博客-程序员秘密

图片原型是苹果WWDC2016的海报, 这里做了些修改转载于:https://www.cnblogs.com/JohnHwangBlog/p/8667173.html

android studio 进行手机或者模拟器调试_王大明总不在的博客-程序员秘密

呃  小笔记不知道第几弹了,就不算在小笔记了。android studio可以用来进行真机调试,打开底部的Android Monitor即可。如果打开后没有设备,那么找到sdk的platform-tools目录,shift+右击,当前目录打开cmd窗口(或者win+R打开cmd窗口,adb.exe拖进cmd窗口),执行adb kill-server 结束当前的adb进程。然后adb con

推荐文章

热门文章

相关标签