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的单词。

    字符和字符缩写:

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

  • 相关阅读:
    android 75 新闻列表页面
    android 74 下载文本
    android 73 下载图片
    android 72 确定取消对话框,单选对话框,多选对话框
    android 71 ArrayAdapter和SimpleAdapter
    android 70 使用ListView把数据显示至屏幕
    maven如何将本地jar安装到本地仓库
    Centos6.7搭建ISCSI存储服务器
    解决maven打包编译出现File encoding has not been set问题
    MySQL 解决 emoji表情 的方法,使用utf8mb4 字符集(4字节 UTF-8 Unicode 编码)
  • 原文地址:https://www.cnblogs.com/gethope5/p/12362925.html
Copyright © 2011-2022 走看看