zoukankan      html  css  js  c++  java
  • Qt的正则表达式类(QRegExp)

    正则表达式在qt中具有重要的作用,现依据qregexp的英文介绍进行简要介绍。正则表达式有四个主要作用:

    1,有效性检查,检测字符串是否满足一定要求,比如包含一个数字或不包含空格。

    2,查找,提供了比简单字符匹配更加强大的匹配模型,比如包含一个或者多字单词,或者不包含某些单词。

    3,查找和替换,对字符串中的不同字符串进行替换。

    4,字符串分割,正则表达式作为一个表示进行字符串分割。

    qregexp基于perl的正则表示式语言,支持unicode编码,也支持通配符。通过setPartternSyntax改变qregexp使用的规则。qt5中,QRegularExpression类提供了一种正则表达式管理,兼容perl规则,建议替代QRegExp。

    正则表达式包含了表达式、量词和断言。最简单表达式是一个字符,例如 x或 5,表达式也可以是一个位于方括弧内的字符串,[ABCD],将匹配A 或B或C或D,或[A-D]。匹配任意一个字符,写为[A-Z]。

    量词指明发生的次数,x{1,1}表示x发生且只能发生一次,x{1,5}表示x至少发生一次,不超过5次。正则表达式不能用来检测括号或标签是否平衡。

    [0-9]{1,1}匹配0-9之间的数字,[0-9]{1,2}匹配0-99之间的数字。这两个正则表达式可匹配字符串的任何位置。^[0-9]{1,2}$表示整个字符串只包含0-99之间的数字。

    [0-9]可用d代替,0-99的数字的匹配可写为^d{1,2}$,也可写为^dd{0,1}$,或^dd?$。?表示{0,1}。

    (mail|letter|correspondence)匹配包含了mail、letter、correspondence三个单词中的一个,可能是email,letters等;(mail|letter|correspondence),匹配三个完整单词中的任何一个,只能是mail、letter等。

    检测单词Eric或Eirik有两种正则表达式: (Eric|Eirik) 和Ei?ri[ck],避免出现类似Ericsson的单词。

    字符和字符缩写:

    这些介绍,比较抽象,建议结合例子来看。

  • 相关阅读:
    软件工程-案例分析作业 开源代码托管平台
    软件工程-个人阅读作业 #2
    软件工程-个人阅读作业 #1
    提问回顾与个人总结
    软工案例分析作业
    结对编程——第二阶段
    软工个人阅读作业#2
    软工个人阅读作业#1
    OO补给站总结
    BUAA_2021_SE_Final_Report
  • 原文地址:https://www.cnblogs.com/gethope5/p/12362925.html
Copyright © 2011-2022 走看看