`

第九章 正则表达式

    博客分类:
  • js
阅读更多
正则表达式
我们先回想一下,在没有正则表达式的年代,我们是怎么在硬盘上查找文件的.
肯定会使用 ? 和 * 字符来帮助查找您正寻找的文件。? 字符匹配文件名中的单个字符,而 * 则匹配一个或多个字符。一个如 'data?.dat' 的模式可以找到下述文件:
data1.dat
data2.dat
datax.dat
dataN.dat

如果使用 * 字符代替 ? 字符,则将扩大找到的文件数量。尽管这种搜索文件的方法肯定很有用,但也十分有限。? 和 * 通配符的有限能力可以使你对正则表达式能做什么有一个概念,不过正则表达式的功能更强大,也更灵活。

在典型的搜索和替换操作中,必须提供要查找的确切文字。这种技术对于静态文本中的简单搜索和替换任务可能足够了,但是由于它缺乏灵活性,因此在搜索动态文本时就有困难了,甚至是不可能的。

测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。
替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。
根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。

使用正则表达式
1.测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。
2.替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。
3.根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。

正则的核心思想:匹配字符串的某一个模式.

什么是 RegExp?
RegExp 是正则表达式的缩写。
当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。
简单的模式可以是一个单独的字符。
更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。
您可以规定字符串中的检索位置,以及要检索的字符类型,等等。

RegExp 对象用于存储检索模式。
通过 new 关键词来定义 RegExp 对象。以下代码定义了名为 patt1 的 RegExp 对象,其模式是 "e":
var patt1=new RegExp("e");
当您使用该 RegExp 对象在一个字符串中检索时,将寻找的是字符 "e"。

test()
test() 方法检索字符串中的指定值。返回值是 true 或 false。
例子:
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
由于该字符串中存在字母 "e",以上代码的输出将是:true

语法 1(直接量写法):  var re = /pattern/[flags]  
语法 2(构造函数写法):var re = new RegExp("pattern",["flags"])


Pattern 必选项。要使用的正则表达式模式。如果使用语法 1,用 "/" 字符分隔模式。如果用语法 2,用引号将模式引起来。
flags可选项。如果使用语法 2 要用引号将 flag 引起来。
标志可以组合使用,可用的有:
g (全文查找出现的所有 pattern)
i (忽略大小写)
m (多行查找)

基本匹配规则:




匹配次数的规则:




分组规则:



匹配位置的规则:




正则表达式的属性:




  • 大小: 55.7 KB
  • 大小: 32.4 KB
  • 大小: 35.5 KB
  • 大小: 36.7 KB
  • 大小: 17.8 KB
分享到:
评论

相关推荐

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    第9章(/09/) RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ...

    精通正则表达式~~~

    第9章:.NET. 405 .NET的正则流派... 406 对于流派的补充... 409 使用.NET正则表达式... 413 正则表达式快速入门... 413 包概览... 415 核心对象概览... 416 核心对象详解... 418 创建Regex对象... 419 ...

    第 9 章 正则表达式

    NULL 博文链接:https://chaoyi.iteye.com/blog/2142578

    第9章 正则表达式

    NULL 博文链接:https://onestopweb.iteye.com/blog/2204267

    正则表达式经典实例中文版 (美)高瓦特斯

    第2章 正则表达式的基本技巧 2.1 匹配字面文本 2.2 匹配不可打印字符 2.3 匹配多个字符之 2.4 匹配任意字符 2.5 匹配文本行起始和/或文本行结尾 2.6 匹配整个单词 2.7 Unicode代码点、屙陛、区块和脚本 2.8 匹配多...

    清华大学精品Python学习PPT课件-第5章 Python正则表达式.pptx

    清华大学精品Python学习PPT课件-第9章 Python异常.pptx 清华大学精品Python学习PPT课件-第10章 Python文件操作.pptx 清华大学精品Python学习PPT课件-第11章 Python项目实战:爬虫程序.pptx 清华大学精品Python学习...

    正则表达式必知必会pdf

    使用子表达式7.1 什么是子表达式7.2 子表达式7.3 子表达式的嵌套7.4 小结第8章 回溯引用:前后一致匹配8.1 回溯引用有什么用8.2 回溯引用匹配8.3 回溯引用在替换操作中的应用8.4 小结第9章 前后查找9.1 前后查找9.2 ...

    正则表达式经典实例

    第2章 正则表达式的基本技巧 2.1 匹配字面文本 2.2 匹配不可打印字符 2.3 匹配多个字符之一 2.4 匹配任意字符 2.5 匹配文本行起始和/或文本行结尾 2.6 匹配整个单词 2.7 Unicode代码点、属性、区块和脚本 ...

    正则表达式经典实例.pdf

    第2章 正则表达式的基本技巧 2.1 匹配字面文本 2.2 匹配不可打印字符 2.3 匹配多个字符之一 2.4 匹配任意字符 2.5 匹配文本行起始和/或文本行结尾 2.6 匹配整个单词 2.7 Unicode代码点、属性、区块和脚本 2.8 匹配多...

    精品课件 Python从入门到精通 第8章 Python中使用正则表达式(共16页).ppt

    Python从入门到精通 第9章 函数.ppt Python从入门到精通 第10章 面向对象程序设计.ppt Python从入门到精通 第11章 模块.ppt Python从入门到精通 第12章 异常处理及程序调试.ppt Python从入门到精通 第13章 文件及...

    shell编程指南,shell脚本,本书共分五部分全。grep家族,sed,AWK,正则表达式,tr用法

    第9章 AWK介绍 66 第10章 sed 用法介绍 89 第11章 合并与分割 104 第12章 tr用法 119 第三部分 登录环境 第13章 登录环境 125 第14章 环境和shell变量 132 第15章 引号 146 第四部分 基础shell编程 第16章 shell...

    Python基础入门教程 由浅入深讲解清晰 第4章 字符串与正则表达式 (共55页).ppt

    【课程列表】 Python基础入门教程 由浅入深讲解清晰 第1章 基础知识 (共44页).ppt Python基础入门教程 由浅入深讲解清晰 第2章 Python序列 (共...Python基础入门教程 由浅入深讲解清晰 第9章 GUI编程 (共43页).ppt

    浅谈正则表达式中的分组和引用实现方法

    其实我对正则表达式的学习基本完全来源于犀牛书的第10章,真正看懂这一章,我觉得操作正则表达式应该不在话下。 我的答案 先给出我的答案吧: ‘abbccddd’.match(/(\w)\1*/g) // [“a”, “bb”, “cc”, “ddd”]...

    Python核心编程 第二版

    第9章 文件和输入输出 第10章 错误和异常 第11章 函数和函数式编程 第12章 模块 第13章 面向对象编程 第14章 执行环境 第2部分 高级主题 第15章 正则表达式 15.1 引言/动机 15.2 正则表达式使用的特殊符号...

    Java Script高级程序设计

    第9章 事件 第10章 高级DOM技术 第11章 表单和数据完整性 第12章 表格排序 第13章 拖放 第14章 错误处理 第15章 JavaScript中的XML 第16章 客户端与服务器端的通讯 第17章 Web服务 第18章 与插件进行交互 第19章 ...

    JavaScript核心概念及实践 高清PDF扫描版 (邱俊涛).pdf

    第9章 函数式的JavaScript 第10章 核心概念深入 第11章 客户端的JavaScript 第12章 客户端的MVC框架:Backbone.js 第13章 JavaScript测试 第14章 JavaScript引擎 第15章 Java应用中的JavaScript 第16章 ...

    python入门学习资料

    第 7 章 正则表达式 第 8 章 HTML 处理 第 9 章 XML 处理 第 10 章 脚本和流 第 11 章 HTTP Web 服务 第 12 章 SOAP Web 服务 第 13 章 单元测试 第 14 章 测试优先编程 第 15 章 重构 第 16 章 函数编程 第 17 章 ...

    C#网络应用编程基础

    第七章 正则表达式与Internet操作 第八章 ADO.NET与SQLServer 第九章 二维 图形图像处理 第十章 基于组建的开发技术 第十一章 网站建设与网页制作 第十二章 ASP.NET Web服务器控件 第十三章 ASP.NET Web应用程序开发...

    LINUX与UNIX_Shell编程指南

    第9章 AWK介绍 第10章 sed 用法介绍 第11章 合并与分割 第12章 tr用法 第三部分 登录环境 第13章 登录环境 第14章 环境和shell变量 第15章 引号 第四部分 基础shell编程 第16章 shell脚本介绍 第17章 条件测试 等等...

    python爬虫修改版.pdf

    第三章 正则表达式。 第四章 XPATH 提取数据。 第五章 动态 HTML 处理。 第六章 多线程爬虫实现。 第七章:Scrapy 框架初步。 第八章:增量爬虫。 第九章:验证码识别。 第十章 MongoDB 数据库。 第十一章 爬虫项目...

Global site tag (gtag.js) - Google Analytics