欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 正则表达式阅读理解

正则表达式阅读理解

2024/10/24 4:41:25 来源:https://blog.csdn.net/weixin_51883798/article/details/139965653  浏览:    关键词:正则表达式阅读理解

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

((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+"))*)*";

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com