Qt【正则表达式】匹配中文汉字,和字母,过滤中英文符号
2018-11-13 14:39
3099 查看
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]+$");
后响应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); }
其中这个双引号(“”)和单引号(‘’)两边要分开过滤
相关文章推荐
- 匹配中文汉字英文字母下划线等键盘上的字符的正则表达式
- 匹配数字、字母和?%&=-_这几个符号的正则表达式
- 【C#】正则表达式匹配中文,英文字母和数字及_写法!并控制长度
- Java中过滤出字母、数字和中文的正则表达式
- 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- 正则表达式-匹配中英文、字母和数字
- 常用的正则表达式-匹配中英文、字母和数字
- 匹配中文普通话汉字拼音正则表达式
- 匹配中文汉字的正则表达式介绍
- 史上最全的正则表达式-匹配中英文、字母和数字
- Java中过滤出字母、数字和中文的正则表达式
- 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- 【转】正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- Java中过滤出字母、数字和中文的正则表达式
- 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- 【转】正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- 正则表达式 基础匹配中文、数字和字母
- Java中过滤出字母、数字和中文的正则表达式
- Android 正则表达式匹配汉字中文