正则表达式

原子 元字符 模式修正符为正则表达式三部分

原子

A全部打印字符和非打印字符(\n,\t等看不出来的)。

B转义字符:

除了a-z A-Z 0-9 _外的所有字符,在当做原子的时候,最好都加上反斜杠,来进行转义。可以将有意义的字符转成没有意义的普通字符(如将 ^ *等字符转成普通字符)。

假如你对其外的字符进行转义的话,很有可能将没有意义的字符转成有意义的字符,如\t(tab键)等。

C常见非打印字符

         \f换页符

         \n换行符  

         \r回车符

         \t制表符   

         \v垂直制表符

D常见普通字符转义为特殊字符

          \d匹配所有数字

           \D匹配所有非数字

           \s匹配任意一个空白符

           \S匹配任意一个非空白符

          \w匹配任意一个数字字母下划线

           \W匹配任意一个非数字字母下划线

           .代表任意原子

E   自定义原子表

          [0-9a-z]此类的

          [^0-9]代表非数字 ^为非的意思      -代表区间的意思

元字符

       注意\在不同语言中,在充当转义功能时是否在单双引号中也需要自己进行转义

       *代表其前面的字符可以出现任意次,包括零次

       +代表其前面的字符可以出现除零次以外的所有次数

       ?其前面的字符出现0次或者1次

        {m,n}代表其前面的字符出现最少m次,最多n次,包括m,n

        {m,}代表其前面的字符出现最少m次,最多次数不限

        {m}代表要求其前面的原子出现m次

        !!!!!但是注意,不可以出现 {,n}这样的东西,m的位置必须有值

       !!!!注意,只是说其前面的字符,仅指其前面一个

        |代表或的意思,但是它的优先级最低,例子:/hello|heihei/  匹配的是hello或者heihei两个整体,而非o与h两个字符。

       ^或者\A  要求字符的开始位置

       $或者\Z  要求字符的结束位置

        \b匹配单词边界

        \B匹配除单词边界以外的部分

        ()括号的意义:

              1改变优先级别            2将小原子变成大原子

              3反向引用     例子: \1匹第一个子模式   4子模式,将一个大模式划分成很多子模式

模式修正符

           i不区分大小写         m可以视为多行正则表达式

           s  .可以匹配所有符号,包括换行符,默认是不能匹配换行符的

          x忽略正则表达式中的空白

          .*  .+正则表达是很贪婪,会尽可能多匹配东西   .*?   .+?  可以取消贪婪模式

....正常匹配/\<b\>(\.\*)\<\/b\>/时,会从第一个匹配到最后一个,这就是贪婪,若取消后,则会匹配到第一个</b>就结束了。

     

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • JS正则表达式一条龙讲解,从原理和语法到JS正则、ES6正则扩展,最后再到正则实践思路 Stinson 关注 20...
    小杰的简书阅读 3,868评论 0 2
  • python的re模块--细说正则表达式 可能是东半球最详细最全面的re教程,翻译自官方文档,因为官方文档写的是真...
    立而人阅读 23,343评论 4 46
  • Python中的正则表达式(re) import rere.match #从开始位置开始匹配,如果开头没有则无re...
    BigJeffWang阅读 12,113评论 0 99
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 9,552评论 0 20
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 6,518评论 0 9

友情链接更多精彩内容