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

    邮箱正则:

    var regex = /^([0-9A-Za-z-_.]+)@([0-9a-z]+.[a-z]{2,3}(.[a-z]{2})?)$/g;

    * 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147
    * 联通号码段:130、131、132、136、185、186、145

    * 电信号码段:133、153、180、189

    var regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$";

    .点  匹配除" "和" "之外的任何单个字符。要匹配包括" "和" "在内的任何字符,请使用像"[sS]"的模式

    (?:pattern) 非获取匹配 匹配但不获取匹配结果,不进行供以后使用 例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。
    (?=pattern) 非获取匹配 正向肯定预查 ,不进行供以后使用 例如“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”

    (?!pattern) 非获取匹配 正向否定预查 例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”

    (?<=pattern) 非获取匹配 反向肯定预查 “(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”

    (?<!patte_n) 非获取匹配 反向否定预查 

    断言

    环视:

    环视主要有以下4个用法: 

    (?<=exp匹配前面是exp的数据 

    (?<!exp匹配前面不是exp的数据 

    (?=exp匹配后面是exp的数据 

    (?!exp) 匹配后面不是exp的数据

     

    需求:字母、数字组合,不区分大小写,不能纯数字或者纯字母,6-16个字符。

    通用正则:^[a-z0-9]{6,16}$    字母数字组合,6-16个字符

        排除纯字母:(?!^[a-z]+$)

    排除纯数字:(?!^[0-9]+$)

        组合起来:(?!^[a-z]+$)(?!^[0-9]+$)^[a-z0-9]{6,16}$

    需求:字母、数字组合,不区分大小写,不能纯数字或者纯字母,6-16个字符。

    通用正则:^[a-z0-9]{6,16}$  字母数字组合,6-16个字符

    排除纯字母:(?!^[a-z]+$)

    排除出数字:(?!^[0-9]+$)

    组合起来:(?!^[a-z]+$)(?!^[0-9]+$)^[a-z0-9]{6,16}$

    1. 扩展部分:
    2. `[A-Z](?<=B)` [A-Z]范围等于B
    3. `[A-Z](?<!B)` [A-Z]范围排除B
    4. `(?!B)[A-Z]` [A-Z]范围排除B

    附: js不支持(?<=exp和 (?<!exp语法

    最后留下一句至尊提醒:.是万能字符,大家看着用,遇到换行使用[sS]替换.即可。

    断言

    零宽断言的意思的零宽度的断言

  • 相关阅读:
    [Trie][并查集]JZOJ 5822 量子纠缠
    [模拟]JZOJ 5820 非法输入
    SAM模板
    [树形DP]JZOJ 5819 大逃杀
    [MST][dij]JZOJ 5818 做运动
    [暴力]JZOJ 5817 抄代码
    [概率期望][树形DP][LCA]JZOJ 5814 树
    认证组件
    注册接口
    视图家族 & 路由组件
  • 原文地址:https://www.cnblogs.com/wyliunan/p/9708781.html
Copyright © 2011-2022 走看看