zoukankan      html  css  js  c++  java
  • 《Vue.js》p102案例中的正则表达式的解析

    《Vue.js实战》 一书 p102 有一个判断参数值是否为数值的正则表达式,援引如下:

    function isValueNumber(value) {
                return (/(^-?[0-9]+.{1}d+$)|(^-?[1-9][0-9]*$)|(^-?0{1}$)/).test(value + '');
            }

    试解析如下:

    1)表达式中有 3 个子表达式

    2)第一个子表达式 

    ^-?[0-9]+.{1}d+$

    起始的脱子符^表示匹配的条件是行的开头。

    结尾处的 $符号表示匹配的行末尾。

    -?,表示匹配0到1个 -。

    字符组[0-9]+,表示 匹配0至9中的任意一个数字,后面的+号,表示匹配1个或无数个数字。

    .,表示转义 . 符号,匹配一个 .。

    后面的{1},表示匹配.的数量为1。

    d,表示匹配一个数字,后面的+号,表示匹配1个或无数个数字。

    2)第二个子表达式

    ^-?[1-9][0-9]*$

    首尾的^$含义同上。

    -?表示匹配0到1个 -。

    [1-9]匹配1到9中的任意一个数值。

    [0-9]匹配0至9中的任意一个数值。后缀*号,表示匹配数量为0到任意个。

    3)第三个表达式

    ^-?0{1}$

    表示匹配一个 - 符号。

    后跟一个0,数量为1。

  • 相关阅读:
    cocos2dx-lua UI编辑器的设计思路
    软件中Undo(撤回)和Redo(重做)的实现
    Cocos2d-x上适合做工具的UI库:ImGui
    静态成员
    命名空间
    类对象的初始化
    函数的重载、重写与隐藏
    类的继承关系与访问限定符
    多继承
    友元函数与友元类
  • 原文地址:https://www.cnblogs.com/sx00xs/p/12677355.html
Copyright © 2011-2022 走看看