zoukankan      html  css  js  c++  java
  • 正则表达式学习方法及笔记

        最近参加了百度ife的前端培训,在完成task0002的过程中要求学会正则表达式,曾经在javascript的教学图书中有看过正则表达式,但都讲的不够系统,自己也不够重视,所以就几乎是正则表达式零基础。于是花了不到一个晚上的时间把《入门正则表达式》看完了,一百多页,比网上的大多数教程系统,入门足矣。

        首先推荐两个在线测试正则的网站,边学边测试反复实践当然学的更快了。

         http://regexpal.com/

         http://regexr.com/

        个人更喜欢用第二个,功能更加齐全,而且界面更美观一些。

         MDN正则表达式  这个这教程结合书使用效果更加。

     以下是我在Evernote上整理的读书笔记,由于是按自己学习的状态整理所以有些简单不系统,更加建议看书

         元字符(metacharacter)是在正则表达式中有特殊含义的字符,也是保留字符。[0-9]这种形式的正则表达式称作字符组(character class)。

         d可以像[0-9]一样匹配任意阿拉伯数字这种正则表达式叫做字符组简写式(character shorthand),也叫转义字符(character escape)。

         使用D匹配任何一个非数字字符,会匹配空格,字母和标点符号。

         .是一个通配符,可以匹配任意字符(但某些情况下不能匹配行起始符)。

         脱字符^匹配行起始位置

         美元$匹配行结束位置
         竖线符|表示选择,也就是从多个可选项中选择一个。
         w只匹配字母,数字,下划线
         x(?=y)  匹配’x’仅仅当’x’后面跟着y 正向肯定查找
         x(?!y)  匹配’x’ 仅仅当’x’后面不跟着’y’,这个叫正向否定查找
     
    使用量词
        {3}花括号中的数字表示带查找的数字出现的次数。包含数字的花括号是一种量词(quantifier)。花花括号本身用做元字符。
          ?也是一种量词表示连字符是可选的,连字符可以不出现或只出现一次。还有其他的量词,例如加号(+)表示“一个或多个”,星号(*)表示“零个或多个”。
          懒惰量词在普通量词后面加一个?可以使它匹配最少
          占有量词在普通量词后面加一个+
     
    边界
          就像^和$一样,是一个零宽度断言,表面上它会匹配空格或者是行起始,而实际上它匹配的是不存在的东西。
          B匹配非单词边界。
         
    选择,分组和后向引用
          举例:先将一个d放在一对圆括号中,这样就将它放入了一个分组中,后面可以用1来对捕获的内容进行后向引用。
          (d)d1可以匹配707等前后两个数相等的三位数。
          当一模式的全部或则部分内容由一对括号分组时,它就对内容进行捕获并临时存入内存中。可以通过后向引用重用捕获的内容,形式为:1 或 $1。
          (?:x)    匹配’x’但是不记住匹配项。这种被叫做非捕获括号。匹配到的自字符串不能通过数组的[1],...,[n]进行访问。
  • 相关阅读:
    今天开始用 VSU 2010
    Visual Studio 2010 模型设计工具 基本应用
    Asp.Net访问Oracle 数据库 执行SQL语句和调用存储过程
    Enterprise Library 4.1 Security Block 快速使用图文笔记
    解决“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。”(图)
    一个Oracle存储过程示例
    Enterprise Library 4.1 Application Settings 快速使用图文笔记
    Oracle 10g for Windows 简体中文版的安装过程
    Oracle 11g for Windows 简体中文版的安装过程
    Oracle 9i 数据库 创建数据库 Net 配置 创建表 SQL查询 创建存储过程 (图)
  • 原文地址:https://www.cnblogs.com/licop/p/4457152.html
Copyright © 2011-2022 走看看