• 收藏多年的正则表达式笔记大全,绝对是干货!


    1、常见正则
    (1)检查邮政编码//共 6 位数字,第一位不能为 0
    /^[1-9]d{5}$/
    (2)检查文件压缩包 //xxx.zipxxx.gzxxx.rar
    /^w+.(zip|gz|rar)$/
    (3)删除多余空格 //
    str.replace(/s+/,'');
    (4)删除首尾空格
    str.replace(/^s+/,''); //去除开头的空格
    str.replace(/s+$/,''); // 去除结尾的空格
    (5)//删除所有的空格
    str.replace(/s/g,'');
    (6)//删除前后的空格
    str.replace((^s+)|(s+$),'')
    (7)电子邮件( xxxxx @ xxxx(.xxxx)+)
    /^w+@w+(.w+)+$/
    如: 770107@qq.com; 770107@qq.com.cn
    (8)手机号(1开头任意数字) 1(3|5|7|8|4)d{9}
    /^1d{10}$/
    (9)身份证
    /^d{17}(d|X)$/
    422422 19660101 5810
    421087 19890101 121X
    ^[1-9]d{5}[19|20]d{2}d{7}(d|X)$
    (10)日期 (合法日期格式:xxxx-xx-xx或 xxxx/xx/xx或xxxx.xx.xx)
    /^d{4}[-/.]d{2}[-/.]d{2}$/
    (11)只能输入中文
    str.replace(/[^u4e00-u9fa5]/g,'');
    (12)账户名只能使用数字字母下划线,且数字不能开头,长度在6-15之间
    /^[a-zA-Z_]w{5,14}$/
    (13)验证IP
    (xxx.)xxx.xxx.xxx|
    254.245.255.255
    240.196.19.5
    /^((25[0-5]|2[0-4]d|1d{2}|[1-9]?d).){3}(25[0-5]|2[0-4]d|1d{2}|[1-9]?d)$/
    (14)汉字在正则中表示为[u4e00-u9fa5]
    (15)字母和数字表示为A-Za-z0-9
    (16)因此邮件名称部分的正则表达式整理如下: 
    电子邮件( xxxxx @ xxxx(.xxxx)+)
    /^w+@w+(.w+)+$/
    如: 770107@qq.com; 770107@qq.com.cn
    (17)手机号(1开头任意数字) 
    /^1(3|5|7|8|4|6|9)d{9}$/
     
    2、正则表达式的特殊字符
    w 匹配一个可以组成单词(变量)的字符(包括字母,数字,下划线)
    如[w]匹配“$5.98”中的5,等价于[a-zA-Z0-9_] 。
    W 匹配一个不可以组成单词的字符
    如[W]匹配"$5.98"中的$,等于[^a-zA-Z0-9_]。
    匹配一个换行符
    匹配一个回车符
    匹配一个制表符
    v 匹配一个重直制表符
    s 匹配一个空白字符,包括 , ,f, ,v等
    S 匹配一个非空白字符,等于/[^ f v]/
     匹配一个单词的边界 (单词是以空格分割的)
    /m/ 匹配 “ moon " 中的 'm';
    /oon/ 匹配 “ moon " 中的 'oon',因为 'oon' 位于字符串的末端,后面没有单词字符;
    B 匹配一个单词的非边界
     
    3、直接量字符(转义字符)
    f 换页符
    换行符
    回车
    制表符
    v 垂直制表符
    / 一个 / 直接量
    \ 一个 直接量
    . 一个 . 直接量
    * 一个 * 直接量
    + 一个 + 直接量
    ? 一个 ? 直接量
    | 一个 | 直接量
    ( 一个 ( 直接量
    ) 一个 ) 直接量
    [ 一个 [ 直接量
    ] 一个 ] 直接量
    { 一个 { 直接量
    } 一个 } 直接量
     
    4、方括号
    [abc] 查找方括号之间的任何字符。
    [^abc] 查找任何不在方括号之间的字符。
    [0-9] 查找任何从 0 至 9 的数字。 [1-9]d+
    [a-z] 查找任何从小写 a 到小写 z 的字符。
    [A-Z] 查找任何从大写 A 到大写 Z 的字符。
    [A-z] 查找任何从大写 A 到小写 z 的字符。
    [adgk] 查找给定集合内的任何字符。
    [^adgk] 查找给定集合外的任何字符。
    (red|blue|green) 查找任何指定的选项。
     
    5、元字符
    . 查找单个字符,除了换行和行结束符,等价于[^ ]
    w 匹配一个可以组成单词(变量)的字符(包括字符,数字,下划线), 如[w]匹配“$5.98”中的5,等价于[a-zA-Z0-9_] 。
    W 查找非单词字符。匹配一个不可以组成单词的字符,如[W]匹配"$5.98"中的$,等于[^a-zA-Z0-9_]。
    d 匹配一个数字字符,/d/ 等价于 /[0-9]/
    D 匹配一个非数字字符,/D/ 等价于 /[^0-9]/
    s 匹配一个空白字符,包括 , ,f, ,v等
    S 匹配一个非空白字符,等于/[^ f v]/
     匹配单词边界。
    B 匹配非单词边界。
    查找 NUL 字符。
    查找换行符。
    f 查找换页符。
    查找回车符。
    查找制表符。
    v 查找垂直制表符。
    xxx 查找以八进制数 xxx 规定的字符。
    xdd 查找以十六进制数 dd 规定的字符。
    uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。
     
    6、量词
    c{n} 匹配包含 n 个 c 的序列的字符串。
    c{m,n} 匹配包含 m 到 n 个 c 的序列的字符串。
    c{n,} 匹配包含至少 n 个 c 的序列的字符串。
    c+ 匹配任何包含至少一个 c 的字符串,等价于c{1,} 。
    c* 匹配任何包含零个或多个 c 的字符串,等价于c{0,}
    c? 匹配任何包含零个或一个 c 的字符串,等价于 c{0, 1}
    c$ 匹配任何结尾为 c 的字符串。
    ^c 匹配任何开头为 c 的字符串。
    ?=c 匹配任何其后紧接指定字符串 c 的字符串。
    对其后紧跟 "all" 的 "is" 进行全局搜索.
    var str="Is this all there is"; var patt1=/is(?= all)/g;
    ?!c 匹配任何其后没有紧接指定字符串 c 的字符串。
    对其后没有紧跟 "all" 的 "is" 进行全局搜索:
    var str="Is this all there is"; var patt1=/is(?! all)/gi;
     
    7、修饰符
    i   执行对大小写不敏感的匹配。
    g   执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
    m   执行多行匹配。
     
  • 相关阅读:
    c++实现单例
    shell查看并修复网络连接
    shell检测interface是否已分配ip,qt调用shell脚本
    ubuntu, Debian, CentOS
    Makefile 中:= ?= += =的区别
    我开新博客了
    soft lockup和hard lockup介绍
    linux系统奔溃之vmcore:kdump 的亲密战友 crash
    布局文件中的sp、dp还有px的区别
    kvmalloc函数
  • 原文地址:https://www.cnblogs.com/lishixiang-007/p/11282720.html
Copyright © 2020-2023  润新知