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

    一、正则表达式

      (一)正则的概念

        1、正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规则的字符

      (二)创建正则的方式

        1、字面量的方式:/正则表达式/标志位;

        2、构造函数方式:new RegExp('正则表达式','标志位')

      (三)正则表达式的方法

        1、正则对象.test(字符串):用于测试字符串是否包含正则内容,返回布尔值,常用于表单验证

        2、正则对象.exec(字符串):返回伪数组,数组中的第一个元素是整个正则表达式匹配的内容,其他元素是组的匹配内容

        3、字符串的方法:

          1)字符串.match(正则表达式):返回伪数组,数组中的第一个元素是整个正则表达式匹配的内容,其他元素是组的匹配内容

          match与exec的区别:

            a、无组无标志位g的时候返回的一样

            b、无组有标志位g的时候match受全局匹配影响

            c、有组无标志位g的时候返回的一样

            d、有组有标志位g的时候match受全局匹配的影响

          2)replace(正则表达式,替换的内容);

          3)search()相当于indexOf()查找当前元素的第一次出现位置的下标

      (四)正则表达式的元字符有哪些(三三二三个一)

        1、第一个三:{} () []

          {}:限制括号前的一个或一组字符连续出现的次数

          {m}:限制括号前的一个或一组字符连续出现m次

          {m,}:限制括号前的一个或一组字符连续出现m至无限次

          {m,n}:限制括号前的一个或一组字符连续出现m次至n次,最少m次,最多n次

          ():表示组

          []:表示范围

        2、第二个三:* + ?

          *:相当于{0,}限制*前的一个或一组字符连续出现0至无限次

          +:相当于{1,}限制+前的一个或一组字符连续出现1至无限次

          ?:相当于{0,1}限制?前的一个或一组字符连续出现0至1次

        3、二:^ $

          ^:

            1)用于正则表达式的开头,表示定头(限制开头字符)

            2)用于[]的开头,表示取反

          $:只能用于正则表达式的结尾,表示定尾(限制结尾字符)

        4、第一个一:

          .:表示模糊匹配任意一个字符

        5、第二个一:

          |:表示或(通常结合组使用)

        6、第三个一:

          :转义字符

        7、特殊转义字符

          s:表示空白

          S:表示非空白

          d:表示数字[0-9]

          D:表示非数字[^0-9]

          w:表示字母,数字,下划线[a-zA-Z_]

          W:表示非字母,数字,下划线[^a-zA-Z_]

          :表示单词边界

          B:表示非边界

    注js正则标志/g,/i,/m说明

    1、/g 表示该表达式将用来在输入字符串中查找所有可能的匹配,返回的结果可以是多个。如果不加/g最多只会匹配一个

    2、/i  表示匹配的时候不区分大小写

    3、/m 表示多行匹配,什么是多行匹配呢?就是匹配换行符两端的潜在匹配。影响正则中的^$符号

  • 相关阅读:
    List中的get(i)
    报空指针异常
    json数据请求
    springmvc中的字典表
    json的解析
    httpClient返回的数据类型,怎么弄
    java中webService
    红外遥控协议(NEC)
    很奇怪的GPIO地址
    emacs命令备忘
  • 原文地址:https://www.cnblogs.com/liufuyuan/p/10416349.html
Copyright © 2011-2022 走看看