zoukankan      html  css  js  c++  java
  • JavaScript正则(一)

    1、字符组:

    ^  $ 说的是开始位置和结束位置,在JS中,既表示字符串的起始位置和结束位置,也表示行的起始位置和结束位置

    console.log(/^d$/.test('2'));   // true  这里的 d 代表的是数字
    console.log(/^d$/.test('a'));   // false

    [ ] 是一个字符集合,匹配他包含的任一个字符

    console.log(/^[0123456]$/.test('0'));   // true
    console.log(/^[0123456]$/.test('7'));    // false
    console.log(/^[0123456]$/.test('12'));   // false   在这里在[0123456]代表的是一个字符,所以来匹配 12 返回 false

    {m,n} 代表重复的次数,这个也叫量词

    console.log(/^d{1,3}$/.test('123'));   // true   在这是说可以出现 1 到 3 个数字
    console.log(/^d{1,3}$/.test('1'));     // true
    console.log(/^d{1,3}$/.test('1234'));  // false

    ? +  *  这些也叫量词

    var res = /^<[^>/]([a-zA-Z]+)[^>/]>$/     
    console.log(res.test('<div>'));   // true   这里这个正则匹配的是一个 html open tag,但是还有点问题不能匹配 <u> 这样的标签
    console.log(res.test('<div/>'));  // false

    这里的  [^>/] 代表的是这个地方不能出现 > 和 / ,就是非的意思

    - 代表的是一个范围 [a-zA-Z] 限制了标签名只能是大小写字母的组合

    [a-zA-Z]+ 这里的 + 代表的是最少出现一次,出现次数没有上限

    ?代表了 可能出现也可能不出现,但是最多只能出现一次

            var res = /^travell?er$/;
            console.log(res.test('traveller'));   // true    这几个量词都是限制他们前一个字符
            console.log(res.test('traveler'));   // true

    * 代表了 可能出现也可能不出现,出现次数没有上限

            var res3 = /^"[^"]*"$/
            console.log(res3.test('"some"'));  // true   这里在双引号前面的  都是对 “ 的转义
            console.log(res3.test('""'));   // true

    环视:(?!……)和(?=……)     (?<!……) 和(?<=……)   前面的那一对是否定顺序换和肯定顺序换,后面的一对是否定定循环和肯定逆循环

    var res = /^<(?!/)([^'">]+)(?<!/)>$/
    console.log(res.test('<div>'));   // true
    console.log(res.test('</div>'));  // false
    console.log(res.test('<div/>')); // false
    <(?!/) 的意思是在 < 的右侧不能出现 /,为了排除 close tag  / 是对 / 进行转义
    (?<!/)> 的意思是在 > 的左侧不能出现 / 为了排除 close-selfing tag
            var res = /^<(?!/)([^'">]+)(?<=/)>$/
            console.log(res.test('<div>'));   // false
            console.log(res.test('<div/>'));  // true
    (?<=/)> 这把 ! 变成了= ,意思是在 > 的左侧是 / ,匹配的是html的 close tag

    s 代表的是空白符,可能是空格也可能是换行 S 是s 的补集

    d 代表的是数字,D 是d 的补集 w 代表的是[-a-z0-9A-Z],W 是w 的补集
    sS  dD  wW  他们可以代表所有的字符

    | ,就是或的意思,(s|d)+ 代表了不是数字就是空白字符,最少要出现一次

  • 相关阅读:
    表达式树作为条件封装多表连查
    EF之结构进一步优化
    EF之ExecuteSqlCommand更新出现无效的解决方案
    dynamic与匿名对象
    webapi 通过dynamic 接收可变参数
    EF INNER JOIN,LEFT JOIN,GROUP JOIN
    Linq join on 多条件
    Excel 行列转置 解决竖向拉,字母跟着递增的问题
    Windows7 安装vs2015 之后 调试Web项目IIS启动不了 aspnetcore.dll未能加载
    Mysql 服务在本机,需要单机调试Mysql数据库 发生 不认识hostname‘localhost’
  • 原文地址:https://www.cnblogs.com/lan1974/p/8529324.html
Copyright © 2011-2022 走看看