zoukankan      html  css  js  c++  java
  • 【leetcode】Valid Number

    题目如下:

    解题思路:对于这种题目,还是用正则表达式吧。顺便吐槽下,这个题目坑实在是太多太多了,各种数字的表达类型都要考虑到,反正就是慢慢尝试呗。如果是像我一样对正则表达式不是特别熟练的话,还是建议把各种情况分开,不要写在一个表达式里,不然要死很多脑细胞的。

    代码如下:

    var isNumber = function(s) {
        s = s.replace(/(^s*)|(s*$)/g, "")
        //0
        if(s == '0'){
            return true
        }
        if(s.replace(/./g,"") == ""){
            return false
        }
        //不包括任何一个数字
        var re = /d/
        if( !re.test(s) ){
            return false
        }
        //正负整数
        //var re = new RegExp(rs);
        re = /^[+-]?[0-9]d{0,}$/
        if( re.test(s) ){
            return true
        }
    
        //正负小数
        re = /^[+-]?[0-9]?d{0,}.d{0,}$|^[+-]?0.d{0,}$/
        if( re.test(s) ){
            return true
        }
        // .1
        re = /^-?.d{1,}$/
        if( re.test(s) ){
            return true
        }
    
        //科学计数法
        //.e1 -> false; .2e1->true; 1.431352e7 ->true
        re = /^[+-]?[0-9]+e[-+]?d{1,}$|^[+-]?[0-9]+.{1}e[-+]?d{1,}$|^[+-]?d*.{1}d+e[-+]?d{1,}$/
        if( re.test(s) ){
            return true
        }
        return false
    };
  • 相关阅读:
    好题记录
    「同余数论」学习笔记
    「网络流」学习笔记
    物理知识相关内容总结
    「多项式」学习笔记
    「数论函数」学习笔记
    「点分治」学习笔记
    「线性基」学习笔记
    「后缀自动机」学习笔记
    「后缀数组」学习笔记
  • 原文地址:https://www.cnblogs.com/seyjs/p/8678020.html
Copyright © 2011-2022 走看看