当前位置: 首页 > news >正文

正则表达式阅读理解

这段正则表达式可以匹配什么呢? 

超级复杂的一段正则表达式。

((max|min)\\s*\\([^\\)]*(,[^\\)]*)*\\)|[a-zA-Z][a-zA-Z0-9]*(_[a-zA-Z][a-zA-Z0-9]*)?(\\*|'|%)?|[0-9]+(\\.[0-9]+)?|\\([^\\)]*(,[^\\)]*)*\\))(\\s*[-+*/%]\\s*([a-zA-Z][a-zA-Z0-9]*(_[a-zA-Z][a-zA-Z0-9]*)?(\\*|'|%)?|[0-9]+(\\.[0-9]+)?|\\([^\\)]*(,[^\\)]*)*\\)?|((max|min)\\s*\\([^\\)]*(,[^\\)]*)*\\)))*)*

先理解一些简单的吧! 

1.max:匹配max

2.max|min  : 匹配max或者min

3.(max|min)\\s  : 匹配max或者min,然后匹配任意一个空白字符

4.(max|min)\\s*  : ... 匹配0个或1个或多个空白字符

5.[a-zA-Z] : 匹配1个字符,a-z或A-Z中的字符

6.[a-zA-Z][a-zA-Z0-9]* :

第一个字符:a-z或A-Z之间

后面匹配0或1个或多个字符,字符可以是a-z或A-z或0-9间的字符.

正则表达式 – 语法 | 菜鸟教程 (runoob.com)

7.字符'\':

'n':匹配字符"n"

'\n"匹配一个换行符

"\\"匹配"\"

"\("匹配"("

8.实际写的时候,要再多添加一个'\'。

    QRegExp exp("\\(");QLineEdit edit;edit.setValidator(new QRegExpValidator(exp));edit.show();

匹配一个字符:'('

9.

QRegExp exp("\\([^\\)]");

匹配两个字符:

第一个必须是'('

第二个不可以是')'

10.

QRegExp exp("\\([^\\)]*");

第一个必须是'('

后面任意个字符(0,1,2,,,,):不可以是')'

11.

,[^\\)]* 

第一个字符是','

后面任意个字符,不可以是')' 

12.

\\([^\\)]*(,[^\\)]*)*\\)

第一个字符:必须是'('

后面任意个字符,不可以是')'

 再输入字符','

再输入任意个字符。不可以是')'

红色字体部分可以重复任意次

再输入一个‘)’

结束

13.

(max|min)\\s*\\([^\\)]*(,[^\\)]*)*\\)

    // (max|min)//  \\s*//  \\(//  [^\\)]*//  (,[^\\)]*)//  *//  \\)

 

14.

[a-zA-Z][a-zA-Z0-9]*(_[a-zA-Z][a-zA-Z0-9]*)?

 

15.

(\\*|'|%)?|[0-9]+(\\.[0-9]+)?|\\([^\\)]*(,[^\\)]*)*\\)

    //  (\\*|'|%)?//  |//  [0-9]+//  (\\.[0-9]+)?//  |//  \\(//  [^\\)]*//  (,[^\\)]*)//  *//  \\)

 

16.

"((max|min)\\s*\\([^\\)]*(,[^\\)]*)*\\)|[a-zA-Z][a-zA-Z0-9]*(_[a-zA-Z][a-zA-Z0-9]*)?(\\*|'|%)?|[0-9]+(\\.[0-9]+)?|\\([^\\)]*(,[^\\)]*)*\\))(\\s*[-+*/%]\\s*([a-zA-Z][a-zA-Z0-9]*(_[a-zA-Z][a-zA-Z0-9]*)?(\\*|'|%)?|[0-9]+(\\.[0-9]+)?|\\([^\\)]*(,[^\\)]*)*\\)?|((max|min)\\s*\\([^\\)]*(,[^\\)]*)*\\)))*)*"
    QString str1="(max|min)\\s*\\([^\\)]*(,[^\\)]*)*\\)";QString str2="[a-zA-Z][a-zA-Z0-9]*(_[a-zA-Z][a-zA-Z0-9]*)?";QString str3="(\\*|'|%)?|[0-9]+(\\.[0-9]+)?|\\([^\\)]*(,[^\\)]*)*\\)";QString content="("+str1+"|"+str2+str3+")(\\s*[-+*/%]\\s*("+str2+str3+"?|("+str1+"))*)*";

http://www.lryc.cn/news/386942.html

相关文章:

  • Apache Calcite Linq4j学习
  • FPGA SATA高速存储设计
  • MySQL----为什么选择使用MySQL
  • 01.音视频小白系统入门(新专栏)
  • C++:enum枚举共用体union
  • 动手学深度学习(Pytorch版)代码实践 -计算机视觉-47转置卷积
  • LinkedIn被封原因和解封方法
  • redis sentinel 部署
  • spring boot (shiro)+ websocket测试连接不上的简单检测处理
  • Jenkins - Python 虚拟环境
  • 每日一道算法题 面试题 08.08. 有重复字符串的排列组合
  • Apache Kylin资源管理全指南:优化你的大数据架构
  • 计算机网络微课堂(湖科大教书匠)TCP部分
  • C++ 字符串介绍
  • [Cloud Networking] BGP
  • Typora failed to export as pdf. undefined
  • windows 10 安装tcping 使用教程
  • [leetcode hot 150]第一百二十二题,买卖股票的最佳时机Ⅱ
  • openstack Y版在ubuntu22.04上不能创建超过8个cpu的虚拟机问题解决
  • 全国31省细分产品出口数据集(2002-2022年)
  • 1,Windows-本地Linux 系统(WSL)
  • K8S 角色/组件及部署方式的简单概述
  • 堆【模板】小根堆堆【模板】大根堆(回)
  • 【JavaScript】JavaScript简介
  • pg_rman:备份和恢复管理工具#postgresql培训
  • 【小学期】常用基于Swing的七个静态界面
  • JavaScript高级程序设计(第四版)--学习记录之迭代器与生成器(上)
  • 51单片机第9步_结构和联合
  • lua5.3.4的Linux的库文件下载地址
  • 网盘挂载系统-知识资源系统-私域内容展示系统