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

    正则表达式由两种基本字符类型组成:

    •  原义文本字符,如:a 就代表字母 a
    •  元字符,在正则表达式中有特殊含义的非字母字符,如下:

    .   任意字符

    ^    开头

    d    数字

        字符边界

    ?    0个或者1个

    +    1个或者多个

    *    任意个

    {数字}  重复次数(或者说有“数字”个)

    ( )    分组(group)

    [ab]   a或者b

    $数字  匹配分组(group)

    $    结尾

        水平制表符

    v    垂直制表符

        换行符

        回车符

       (零) 空字符

    f    换页符

    cX   Ctrl+X (由此可知cZ等元字符的含义)

    JavaScript通过内置对象RegExp支持正则表达式:http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

      有两种方法实例化RegExp:

        1、字面量  var reg = /is/g ;      修饰符g代表gloab,全局匹配,不加g只会匹配第一个符合条件的字符串

        2、构造函数  var reg = new RegExp( '\bis\b' , 'g' )

        调用:  'this is a String'.relpace( reg , 'IS') ;

            reg.test('this is a String')    RegExp对象的test() 方法用于检测一个字符串是否匹配某个模式

      修饰符:

        g代表gloab,全局匹配,不加g只会匹配第一个符合条件的字符串

        i代表ignore case忽略大小写,默认大小写敏感

        m代表multiple lines多行搜索

     

    PHP中使用PCRE库函数进行正则匹配:

      preg_match属于PCRE库函数,用于执行一个正则匹配,常用来判断一类字符模式是否存在

      PCRE库函数中,正则匹配模式使用分隔符与元字符组成,分隔符可以是非数字、非反斜线、非空格的任意字符。经常使用的分隔符是正斜线(/)、hash符号(#) 以及取反符号(~),例如:

    /foo bar/

    #^[^0-9]$#

    ~php~

      分隔符后面可以使用模式修饰符,模式修饰符(类似js的)包括:g,i, m, s, x等,例如使用i修饰符可以忽略大小写匹配:

    正则表达式图形化网站:https://regexper.com/

  • 相关阅读:
    java中原子操作的实现分析
    AQS源码分析
    Java JNDI 学习
    门面模式、代理模式、适配器模式的区别
    tomcat源码阅读之StandardWrapper解析
    tomcat源码阅读之过滤器
    tomcat源码阅读之SingleThreadModel
    tomcat源码阅读之单点登录
    技术人员的八条宝贵经验,时刻提醒自己,共勉之
    tomcat源码阅读之安全机制
  • 原文地址:https://www.cnblogs.com/yaohunzhanyue/p/7446101.html
Copyright © 2011-2022 走看看