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

     与正则有关的函数: String.match(regexp);  //返回object 

    题目描述

    给定字符串 str,检查其是否符合如下格式
    1、XXX-XXX-XXXX
    2、其中 X 为 Number 类型 
    输入例子:
    matchesPattern('800-555-1212')
    输出例子:
    true
    function matchesPattern(str) {
    	return /^(d{3}-){2}d{4}$/.test(str);
    }
    

    注意: ^表示开头,$表示结尾,d表示数字,{n}表示重复n遍,为什么要加^和$呢,因为若不加那么'a800-555-1212'也符合模式,就不对了

    题目描述

    给定字符串 str,检查其是否符合美元书写格式
    1、以 $ 开始
    2、整数部分,从个位起,满 3 个数字用 , 分隔
    3、如果为小数,则小数部分长度为 2
    4、正确的格式如:$1,023,032.03 或者 $2.03,错误的格式如:$3,432,12.12 或者 $34,344.3 
    输入例子:
    isUSD('$20,933,209.93')

    输出例子:
    true
    function isUSD(str) {
    	var regexp = /^$d{1,3}(,d{3})*(.d{2})?$/;
    	return regexp.test(str);
    }
    

    注意:  以$开头,数字结尾,$和小数点的转义。首先,开头必是$,而正则表达式中$表示结尾,需要进行转义,因此开头为^$

    然后$后必然接数字,并且最少一位,最多三位数,可用{m,n}表示,最少m位,最多n位,因此此段为d{1,3}
    接着,后面如还有数,则必然有,分隔,并且后面必有3个数,类似于,XXX的格式会出现0或者n次,因此此段可表示为(,d{3})*
    最后,如有小数部分,则注意对小数点进行转义,此段可表示为(.d{2})?
    因此,最后的正则表达式为/^$d{1,3}(,d{3})*(.d{2})?$/
    使用test方法去检测str
     


  • 相关阅读:
    3.学习SpringMVC注解深入
    1.Google Blockly概述以及入门
    4.Servlet的Response和Request
    3.Servlet的ServletContext对象
    提高网络点击率的八种方法
    JNDI知道这么多就够了!
    jetty源代码剖析
    cocos2d-x 源代码分析 : control 源代码分析 ( 控制类组件 controlButton)
    Codeforces Round #254 (Div. 2)B. DZY Loves Chemistry
    几款“理想”“习惯”应用体验报告
  • 原文地址:https://www.cnblogs.com/learning-/p/6613048.html
Copyright © 2011-2022 走看看