zoukankan      html  css  js  c++  java
  • regex的环视和方括号用法基础讲解

    先介绍下基本的概念,可能看起来这些概念性的东西不是太懂,但是这个还是要记一下的,为以后复杂的regex打下基础.
    (?<=EXP)
    逆序肯定环视,表示所在位置左侧能够匹配EXP
    (?<!EXP)
    逆序否定环视,表示所在位置左侧不能够匹配EXP
    (?=EXP)
    顺序肯定环视,表示所在位置右侧能够匹配EXP
    (?!EXP)
    顺序肯定环视,表示所在位置右侧不能够匹配EXP
    实例:String: a1b2c3d
    l         要匹配字母后面是数字2的字母
    Regex:[a-z](?=2)
    结果:b
    l         要匹配字母前面是数字2的字母
    Regex: (?<=2)[a-z]
    结果:c
    l         要匹配后面不是数字2的字母
    Regex: [a-z](?!2)
    结果:a c d
    l         要匹配前面不是数字2的字母
    Regex: (?<!2)[a-z]
    结果:a b d
    最后说下[]这个问题
    []支持用连字符”-”连接两个字符,来表示一个字符的范围,例如[a-z]表示所有的大小英文字母[0-9]表示0到9所有的数字
    因为[]本身表示的就是字符之间的“或”的关系,因此在[]中使用”|”来表示“或”的关系是错误。
    如果使用字符串间的或关系,那么就需要用到”()”了
    因此在括号的使用上引入了非捕获组与捕获组的概念
    关于记忆:
    带有<符号的都是判断左侧的,<箭头不是向左嘛。
    不带<箭头的都是判断右边的,正则匹配的顺序都是从左至右。

  • 相关阅读:
    Windows安装Oracle
    MySQL索引的创建和使用
    使用TensorFlow进行中文情感分析
    gensim库word2vec使用
    软件测试理论
    产品经理
    产品经理
    产品经理
    职业规划及核心竞争力
    项目管理
  • 原文地址:https://www.cnblogs.com/mcshell/p/5655834.html
Copyright © 2011-2022 走看看