zoukankan      html  css  js  c++  java
  • 求一个正则表达式,字母不能重复

    不重复字母正则:

    ^(?:([A-Z])(?!.*?1))+$

    (刚开始我写的是^( ([A-Z])(?!1) )+$,发现不能匹配,

    原因是1是 第一个左括号的结果,应该是?:表示匹配exp,不捕获匹配的文本,也不给此分组分配组号。就匹配到

    其解释如下:
    (?:)是匹配括号以内的
    (?!)是负向预查,就是不匹配的意思。如"Windows (?!95|98|NT|2000)" 能匹配 "Windows 3.1" 中的 "Windows"
    ,但不能匹配 "Windows 2000" 中的 "Windows",因为里面使用了(?!95|98|NT|2000)即匹配的字符中包含了
    95,98,NT,2000都不能匹配
    .*?是非贪婪匹配任意字符,不包括换行的
    +是匹配1或多次
    1匹配的是([A-Z])匹配的内容
    ^是表达式开始
    $是结束

  • 相关阅读:
    读操作
    读锁与写锁
    Mvcc
    readView
    版本链
    事务的隔离性
    索引的代价
    keras backend的修改
    caffe 笔记
    菜品识别 SDK调用
  • 原文地址:https://www.cnblogs.com/youxin/p/3546657.html
Copyright © 2011-2022 走看看