正则表达式经典实例 PDF 超清版

  • 更新时间:
  • 2230人关注
  • 点击下载

给大家带来的一篇关于正则表达式相关的电子书资源,介绍了关于正则表达式、正则表达式实例方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小45.15MB,高瓦特斯,利维森编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.5分。

资源详情相关推荐
正则表达式经典实例
  • 出版社:人民邮电出版社
  • 作者:高瓦特斯,利维森
  • 大小:45.15MB
  • 类别:正则表达式
  • 热度:736
  • 神奇的匹配:正则表达式求精之旅
  • Python正则表达式全套笔记(含Python3.10官方文档)
  • JavaScript正则表达式迷你书 v1.1
  • 正则表达式必知必会
  • 精通lambda表达式:Java多核编程
  • 书籍介绍

    正则表达式经典实例》讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,《正则表达式经典实例》给出了涉及基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等编程语言的解决方案。《正则表达式经典实例》的读者对象是对正则表达式感兴趣的软件开发人员和系统管理员。《正则表达式经典实例》旨在教会读者很多新的技巧以及如何避免语言特定的陷阱,读者可以通过《正则表达式经典实例》提供的实例解决方案库来解决实践中的复杂问题。

    目录

    • 第1章正则表达式简介
    • 1.1正则表达式的定义
    • 1.2使用正则表达式的工具
    • 第2章正则表达式的基本技巧
    • 2.1匹配字面文本
    • 2.2匹配不可打印字符
    • 2.3匹配多个字符之一
    • 2.4匹配任意字符
    • 2.5匹配文本行起始和/或文本行结尾
    • 2.6匹配整个单词
    • 2.7Unicode代码点、属性、区块和脚本
    • 2.8匹配多个选择分支之一
    • 2.9分组和捕获匹配中的子串
    • 2.10再次匹配先前匹配的文本
    • 2.11捕获和命名匹配子串
    • 2.12把正则表达式的一部分重复多次
    • 2.13选择最小和最大重复次数
    • 2.14消除不必要的回溯
    • 2.15避免重复逃逸
    • 2.16检查一个匹配,但不添加到整体匹配中
    • 2.17根据条件匹配两者之一
    • 2.18向正则表达式中添加注释
    • 2.19在替代文本中添加字面文本
    • 2.20在替代文本中添加正则匹配
    • 2.21把部分的正则匹配添加到替代文本中
    • 2.22把匹配上下文插入到替代文本中
    • 第3章使用正则表达式编程
    • 3.1在源代码中使用字面正则表达式
    • 3.2导入正则表达式函数库
    • 3.3创建正则表达式对象
    • 3.4设置正则表达式选项
    • 3.5检查是否可以在目标字符串中找到匹配
    • 3.6检查正则表达式能否整个匹配目标字符串
    • 3.7获取匹配文本
    • 3.8决定匹配的位置和长度
    • 3.9获取匹配文本的一部分
    • 3.10获取所有匹配的列表
    • 3.11遍历所有匹配
    • 3.12在过程代码中对匹配结果进行验证
    • 3.13在另一个匹配中查找匹配
    • 3.14替换所有匹配
    • 3.15使用匹配的子串来替换匹配
    • 3.16使用代码中生成的替代文本来替换匹配
    • 3.17替换另一个正则式匹配中的所有匹配
    • 3.18替换另一个正则式匹配之间的所有匹配
    • 3.19拆分字符串
    • 3.20拆分字符串,保留正则匹配
    • 3.21逐行查找
    • 第4章合法性验证和格式化
    • 4.1E-mail地址的合法性验证
    • 4.2北美电话号码的合法性验证和格式化
    • 4.3国际电话号码的合法性验证
    • 4.4传统日期格式的合法性验证
    • 4.5对传统日期格式进行精确的合法性验证
    • 4.6传统时间格式的合法性验证
    • 4.7检查ISO 8601格式的日期和时间
    • 4.8限制输入只能为字母数字字符
    • 4.9限制文本长度
    • 4.10限制文本中的行数
    • 4.11肯定响应的检查
    • 4.12社会安全号码的合法性验证
    • 4.13ISBN的合法性验证
    • 4.14ZIP代码的合法性验证
    • 4.15加拿大邮政编码的合法性验证
    • 4.16英国邮政编码的合法性验证
    • 4.17查找使用邮局信箱的地址
    • 4.18转换姓名格式
    • 4.19信用卡号码的合法性验证
    • 4.20欧盟增值税代码
    • 第5章单词、文本行和特殊字符
    • 5.1查找一个特定单词
    • 5.2查找多个单词之一
    • 5.3查找相似单词
    • 5.4查找除某个单词之外的任意单词
    • 5.5查找后面不跟着某个特定单词的任意单词
    • 5.6查找不跟在某个特定单词之后的任意单词
    • 5.7查找临近单词
    • 5.8查找重复单词
    • 5.9删除重复的文本行
    • 5.10匹配包含某个单词的整行内容
    • 5.11匹配不包含某个单词的整行
    • 5.12删除前导和拖尾的空格
    • 5.13把重复的空白替换为单个空格
    • 5.14对正则表达式元字符进行转义
    • 第6章数字
    • 6.1整数
    • 6.2十六进制数字
    • 6.3二进制数
    • 6.4删除前导
    • 6.5位于某个特定范围之内的整数
    • 6.6在某个特定范围之内的十六进制数
    • 6.7浮点数
    • 6.8含有千位分隔符的数
    • 6.9罗马数字
    • 第7章URL、路径和Internet地址
    • 7.1URL合法性验证
    • 7.2在全文中查找URL
    • 7.3在全文中查找加引号的URL
    • 7.4在全文中寻找加括号的URL
    • 7.5把URL转变为链接
    • 7.6URN合法性验证
    • 7.7通用URL的合法性验证
    • 7.8从URL中提取通信协议方案
    • 7.9从URL中抽取用户名
    • 7.10从URL中抽取主机名
    • 7.11从URL中抽取端口号
    • 7.12从URL中抽取路径
    • 7.13从URL中抽取查询
    • 7.14从URL中抽取片段
    • 7.15域名合法性验证
    • 7.16匹配IPv4地址
    • 7.17匹配IPv6地址
    • 7.18Windows路径的合法性验证
    • 7.19分解Windows路径
    • 7.20从Windows路径中抽取盘符
    • 7.21从UNC路径中抽取服务器和共享名
    • 7.22从Windows路径中抽取文件夹
    • 7.23从Windows路径中抽取文件名
    • 7.24从Windows路径中抽取文件扩展名
    • 7.25去除文件名中的非法字符
    • 第8章标记语言和数据交换
    • 8.1查找XML风格的标签
    • 8.2把标签b替换为strong
    • 8.3删掉除em和strong之外的所有XML风格标签
    • 8.4匹配XML名称
    • 8.5添加p和br标签将纯文本转换为HTML
    • 8.6在XML风格的标签中查找某个特定属性
    • 8.7向不包含cellspacing属性的 table标签中添加该属性
    • 8.8删除XML风格的注释
    • 8.9在XML风格的注释中查找单词
    • 8.10替换在CSV文件中使用的分隔符
    • 8.11抽取某个特定列中的CSV域
    • 8.12匹配INI段头
    • 8.13匹配INI段块
    • 8.14匹配INI名称-值对
       
    精选笔记:JavaScript正则表达式和级联效果

    2小时36分钟前回答

    1、正则表达式(regular expression)

    是一种字符串匹配的模式,用来检查一个字符串中是否包含指定模式的字符串。

    2、正则表达式的创建

    var reg = /white/;
    var reg = new RegExp("white","g");

    3、正则表达式的修饰符

    g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
    i 不区分大小写
    m 多行匹配

    4、正则表达式符号

    方括号:方括号用于查找某个范围内的字符:

    [abc]   查找方括号之间的任何字符。
    [^abc]  查找任何不在方括号之间的字符。
    [0-9]   查找任何从 0 至 9 的数字。
    [a-z]   查找任何从小写 a 到小写 z 的字符。
    [A-Z]   查找任何从大写 A 到大写 Z 的字符。
    [A-z]   查找任何从大写 A 到小写 z 的字符。
    [adgk]  查找给定集合内的任何字符。
    [^adgk] 查找给定集合外的任何字符。
    (red|blue|green)    查找任何指定的选项。

    元字符:元字符(Metacharacter)是拥有特殊含义的字符:

    /…/ 代表一个模式的开始和结束
    ^   匹配字符串的开始
    $  匹配字符串的结束
    \s  任何空白字符
    \S  任何非空白字符
    \d  匹配一个数字字符,等价于[0-9]
    \D  除了数字之外的任何字符,等价于[^0-9]
    \w  匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_]
    \W  任何非单字字符,等价于[^a-zA-z0-9_]
    .   除了换行符之外的任意字符

    正则表达式重复字符(量词)

    {n} 匹配前一项n次
    {n,}    匹配前一项n次,或者多次
    {n,m}   匹配前一项至少n次,但是不能超过m次
    *   匹配前一项0次或多次,等价于{0,}
    +   匹配前一项1次或多次,等价于{1,}
    ?   匹配前一项0次或1次,也就是说前一项是可选的,等价于{0,1}

    5、RegExp对象的属性

    global RegExp对象是否具有标志g,它声明了给定的正则表达式是否执行全局匹配。

    ignoreCase RegExp对象是否具有标志i,它声明了给定的正则表达式是否执行对大小写不敏感的匹配。

    multiline RegExp对象是否具有标志m,它声明了给定的正则表达式是否执行多行匹配。

    6、RegExp对象的方法

    1、exec  检索字符中是正则表达式的区配,返回找到的值,并确定其位置

    exec()

    exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

    例子 1:

    var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free")); 由于该字符串中存在字母 "e",以上代码的输出将是:
    e

    2、test  检索字符串中指定的值,返回true或false

    test()

    test() 方法检索字符串中的指定值。返回值是 true 或 false。

    例子:

    var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); 由于该字符串中存在字母 "e",以上代码的输出将是:
    True

    7、分析(邮箱验证) var reg=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/;

    //正则表达式创建
    ^ 字符串开始
    $字符串结束
    \w任意字符字母和数字,下划线
    + 表示前一个字符出现{1,},一次或多次。
    @ 普通字符串
    \w  任意字符串 ddd@123
    . 除了换行符之外的任意字符  ddd@123.
    [a-zA-Z]  ddd@123.c   ddd@123.n
    {2,3} ddd@123.com  ddd@123.net  ddd@123.tv
    (.[a-zA-Z]{2,3})? ddd@123.com.cn  ddd@123.net

    常用正则:

        用户名正则:/^[a-zA-Z][a-zA-Z0-9]{3,15}$/
        密码正则:/^[a-zA-Z0-9]{4,10}$/
        生日正则:/^((19\d{2})|(200\d))-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/
        Email正则:/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/
        邮政编码:/^\d{6}$/
        手机号码:/^1\d{10}$/

    8、String对象的方法

    match 找到一个或多个正则表达式的匹配
    search 检索与正则表达式相匹配的值
    replace 替换与正则表达式匹配的字符串
    split 把字符串分割为字符串数组
    9、select对象常用事件、方法和属性.

    1、事件    onchange    当改变选项时调用的事件

    2、方法    add()   向下拉列表中添加一个选项

        示例:

     var province=document.getElementById("selProvince").value; 
      var city=document.getElementById("selCity");
      city.options.length=0; 
      switch(province){
       case "河南省":
        city.add(new Option("郑州市","郑州市"),null);
        city.add(new Option("洛阳市","洛阳市"),null);
       break;
        …… 
      } 

    3、属性:

        options[]   返回包含下拉列表中的所有选项的一个数组
        selectedIndex   设置或返回下拉列表中被选项目的索引号
        length  返回下拉列表中的选项的数目

        示例:

     function get(){
       var index=document.getElementById("fruit").selectedIndex;
       var len=document.getElementById("fruit").length;
       var show=document.getElementById("show");
       show.innerHTML="被选选项的索引号为:"+index+"<br/>下拉列表选项数目为:"+len;
      }

    4、Option对象常用属性:

        text:设置或返回某个选项的纯文本值
        value:设置或返回被送往服务器的值

    10、数组常用的属性和方法。

    属性  length  设置或返回数组中元素的数目

    方法:

        join( ) 把数组的所有元素放入一个字符串,通过一个的分隔符进行分隔
        sort( ) 对数组的元素进行排序

    ****读取二维数组中的元素值:

    var cityList = new Array();
     cityList['河北省'] = ['邯郸市','石家庄市'];
     cityList['河南省'] = ['郑州市','洛阳市'];
     cityList['湖北省'] = ['武汉市','宜昌市'];
     for(var i in cityList){
      document.getElementById("show").innerHTML+=i+"<br/>"; 
     }
      for(var j in cityList){
      for(var k in cityList[j]){
      document.getElementById("show").innerHTML+=cityList[j][k]+"  ”;
     }
     document.getElementById("show").innerHTML+="<br/>“; }

    总结

    以上所述是小编给大家介绍的JavaScript_正则表达式和级联效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!

    资源下载

    相关声明:

    《正则表达式经典实例 》PDF 超清版下载资源由用户 寿思淼 于 2021-06-10 09:36:06 分享至百度网盘。仅供想学习正则表达式的网友交流使用,专题参考:正则表达式,

    相关资源

    • SQL经典实例(SQL Cookbook)

      SQL经典实例(SQL Cookbook)

      《SQL经典实例》 详细介绍了各种数据库的SQL查询技术和一些基础的SQL查询语句,并且通过实例操作的方式讲解了如何插入、更新和删除数据等相关知识。另外,本书还介绍了如何使用SQL语句进

      大小:9.3 MBSQL实例

      立即下载
    • Java经典实例

      Java经典实例

      Java经典实例(第三版) 从lambda表达式、JavaFX 8,到网络编程和支持移动设备等方面,Java 8都有许多更新。包含了数百个经过实践验证的技巧,内容涵盖了广泛的Java主题,可帮助你快速进入编程

      大小:167.8 MBJava

      立即下载
    • PHP经典实例(第3版)

      PHP经典实例(第3版)

      PHP经典实例(第3版)介绍了专门为PHP 5.4和5.5修订的350个经典技巧,并提供了丰富的示例代码。可以免费使用,另外还讨论了如何解决问题以及这些解决方案为什么可行,希望会对大家有帮助

      大小:55.9 MBPHP

      立即下载
    • Kubernetes经典实例

      Kubernetes经典实例

      Kubernetes创办人强烈推荐,Kubernetes初期的编码贡献者和先行者开发人员写作,90好几个方法教你如何建立云空间原生态手机应用程序。假如大家企业已经提前准备选用云空间原生态电子计算机构

      大小:85.4 MBKubernetes

      立即下载
    • C#经典实例

      C#经典实例

      本书是一本全面的C#编程参考书,用150多个范例详细探讨了C#开发中的诸多问题。所有范例中的代码均经过验证,可以直接在应用程序中重用。 第4版重新编写了许多解决方案,以充分利用C#*近

      大小:7.9 MBC#

      立即下载

    学习笔记

    3小时42分钟前回答

    python正则表达式的使用

    python的正则是通过re模块的支持 匹配的3个函数 match :只从字符串的开始与正则表达式匹配,匹配成功返回matchobject,否则返回none; re.match(pattern, string, flags=0) ##flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。 search :将字符串的所有字串尝试与正则表达式匹配,如果所有的字串都没有匹配成功,返回none,否则返回matchobject;(re.search相当于perl中的默认行为) findall方法,返回所有的与给定的表达式匹配的一个list; 使用 mypatten = re.compile("规则") ##定义匹配的规则myresult = mypatten.match("字符串") ##匹配结果 if myresult: print myresult.group()##括号中可以填数字也可以 命名分组……

    5小时14分钟前回答

    mysql中如何使用正则表达式查询

    基本形式 属性名 regexp ‘匹配方式' 正则表达式的模式字符 ^ 匹配字符开始的部分 eg1: 从info表name字段中查询以L开头的记录 select * from info where name regexp '^L'; eg2: 从info表name字段中查询以aaa开头的记录 select * from info where name regexp '^aaa'; $ 匹配字符结束的部分 eg1: 从info表name字段中查询以c结尾的记录 select * from info where name regexp 'c$'; eg2: 从info表name字段中查询以aaa结尾的记录 select * from info where name regexp 'aaa$'; . 匹配字符串中的任意一个字符,包括回车和换行 eg1: 从info表name字段中查询以L开头y结尾中间有两个任意字符的记录 select * from info where name regexp '^L..y$'; [字符集合]匹配字符集合中的任意字符 eg1: 从info表……