zoukankan      html  css  js  c++  java
  • 正则表达式 元字符

    1、正则表达式不包含元字符,就是纯文本检索
    2、行的开头与结尾 ^(脱字符)$(美元符),注意:^和$不是匹配具体的文本,而是匹配一个位置
    3、字符集合,如gr[ae]y, 首先匹配g, 下一个是r, 下一个是a或者e,最后一个是y, 这里的a和e表示一个字符集合,匹配其中的任意一个。如果想匹配小写字母,使用[a-z],这里的-连字符,是字符集合中的元字符,表示一个范围。
    在字符集合中只有连字符,脱字符是元字符,并且连字符不在开头,表示一个范围。在字符集合外,连字符只是一个普通字符。
    4、排除字符集合,比如[^u], 表示匹配一个字符,这个字符不是u,也就是反向选择。特别注意:q[^u] 不能匹配Iraq,思考为什么?
    q[^u],匹配一个字符,这个字符不是u,首先得条件是有一个字符,二Iraq后面没有字符
    5、用点号匹配任意字符,考虑下面的情况,查找文档中的日期 2015-03-17,不确定日期的分隔符,也就是说可能是2015/03/17,也有可能是2015:03:17。因此正则表达式有两种选择:2015[-/:]03[-/:]17 或者2015.03.17 。使用前者,匹配更加准确,但是会漏掉2015|03|17。使用后者,匹配的情况更多,但是会匹配不准确,比如2015103117。因此,写正则表达式,就是在准确程度和匹配范围求得平衡。
    6、区分空字符,空格字符,空白字符(包括空格字符,制表符,换行符)
    7、多选结构,对于字符集合gr[ae]y,可以使用gr(a|e)y,当然也可以使用 (gray|grey)。注意字符集合和多选结构的区别,字符集合只能匹配一个字符,多选结构可以是一个任意的表达式,但是多选结构没有字符集合的排除功能。
    8、可选项? 出现一次,或者没有出现
    9、其他量词 + 出现一次以上,*出现0次或者多次,a+等介于aa*
    10、括号,括号的三中用处:限制多选项的范围;将多个字符合成一个单位,接受量词的限制;反向引用。
          比如,找出重复的abc abc ,(abc) 1【注意,(abc)与1之间有个空格】,找出重复的abc。
          找出重复的abcabc ,(abc)1【注意,(abc)与1之间没有空格】,找出重复的abc。
        ([a-z]{3})([0-9]) 12,找出重复的([a-z]{3})([0-9])
    11、转义字符,在字符集合中开头的脱字符(排除),非开头连线符(表示范围)是元字符,其他都不是元字符。在字符集合外,.*+()[] 需要进行转义
  • 相关阅读:
    安装Eclipse for MAC 苹果版
    visual studio code emmet 插件不提示?解决方案
    支付宝付款页面调整屏幕亮度
    浅谈iOS需要掌握的技术点
    Objective-C 编程艺术 (Zen and the Art of the Objective-C Craftsmanship 中文翻译)
    ios开发数据库版本迁移手动更新迭代和自动更新迭代艺术(-)
    ios 添加到cell 上的button点击无效!扩大button的点击区域(黑魔法)
    个人中心模块-拍照剪裁上传
    利用js与java交互
    显示gif动画(帧动画的播放)
  • 原文地址:https://www.cnblogs.com/nzbbody/p/4356187.html
Copyright © 2011-2022 走看看