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

    对象:
    内置对象:Array Function Date Math String Number RegExp Boolean ...
    宿主对象:DOM BOM
    自定义对象
    ------------------
    RegExp:正则对象 (Regular Expression)
    由普通字符和特殊字符构成的文字模式,该文字模式是用来检测当前字符串是否符合你的这套文字模式
    是一种强大的字符串匹配工具,如输入验证等场景

    一 定义正则对象
    var reg=new RegExp("正则表达式","修饰符");---构造函数语法
    var reg=/正则表达式/修饰符;---直接量语法

    二 修饰符
    i 不区分大小写
    g 全局匹配
    /[w!#$%&'*+/=?^_`{|}~-]+(?:.[w!#$%&'*+/=?^_`{|}~-]+)*@(?:[w](?:[w-]*[w])?.)+[w](?:[w-]*[w])?/
    三 正则表达式的构成
    1 元字符
    w:匹配数字字母下划线
    W:匹配非数字字母下划线
    d:匹配数字
    D:匹配非数字
    s:匹配空白字符
    S:匹配非空白字符
    . :匹配换行和行结束符以外的任意字符
    ^ :匹配字符串开始
    $ :匹配字符串的结束
    :匹配换行符

    2 方括号:用于查找某个范围内的字符
    []:匹配[]中罗列的单个字符
    [abc]
    [u4e00-u9fa5]
    [a-z]
    [A-Z]
    [0-9]<===>d
    [a-z0-9_]<===>w /w/i /[a-z0-9_]/i new RegExp("[a-z0-9_]","i")
    [^]:匹配除了[]当中罗列的字符以为的单个字符 [^abc] [^a-c]

    3 限定符(量词):用来描述字符出现的次数
    ? :匹配0个或1个
    + :匹配1个或多个
    {n}:匹配n个 /d{5}/ /[0-9]{5}/
    {m,n}:匹配至少m个但是不能超过n个 /d{6,10}/
    {m,}:匹配至少m个 + <===> {1,}

    4 分组和选择
    () :分组 abcabcabc (abc){3}
    | :选择 aba abb aab bab aaa bbb... (a|b){3}

    aabbbb aaaaaa bbbbbb bbaabb ... ((aa)|(bb)){3}

    6-18个字符构成,可以使用字母数字下划线,但是必须以字母开头
    {6,18} w ^[a-z]
    /^[a-zA-Z]w{5,17}$/ /^[a-z]w{5,17}$/i

    手机号:
    1 3/5/7/8
    /^1[3578]d{9}$/

    email:
    sakjdakjd @ zhcfdh . com
    w+ @ [a-z]+ [.]或者. (com)
    /^w+@[a-z]+.(com)$/i

    ------------------------------------------

    四 常用正则表达式的String对象的方法

    String.search(reg):检测与正则表达式相匹配的值,如果找到返回匹配的位置否则返回-1

    String.match(reg):找到一个或多个正则表达式的匹配,返回的是一个集合

    String.replace(reg):替换与正则表达式匹配的子字符串

    正则表达式在匹配的时候有一个特性:贪婪

    五 RegExp对象的方法
    RegExp.test(string):用于对某个字符串进行检测,如果符合正则表达式的一个匹配结果则返回true,否则就返回false
    只要字符串当中有一部分满足正则的话就返回true,所以在书写正则的时候必须要加上(^$)

  • 相关阅读:
    javaEE web 系统安装时自定义初始化
    windows 安装绿色版mysql
    myeclipse 安装svn(subeclipsesite)插件
    Xcode连接 Git
    生成16位不重复编码
    百度工程师也犯低级错误(有心还是无意)?
    IBatis 映射文件 sql 中大于、小于等符号转义
    web项目文档总览
    银行卡号的校验
    身份证的校验
  • 原文地址:https://www.cnblogs.com/love-8023/p/7651313.html
Copyright © 2011-2022 走看看