正则入门连载!(献给不及格的程序员们)第1/4页

正则表达式 
通过与大多数读者已经熟悉的一些概念进行比较,说明正则表达式的概念。

本篇内容全部来是 微软 公司 文档
            对此表示感谢,像那些为此而工作过的人们.

除非您以前使用过正则表达式,否则您可能不熟悉此术语。但是,毫无疑问,您已经使用过不涉及脚本的某些正则表达式概念。

例如,您很可能使用 ? 和 * 通配符来查找硬盘上的文件。? 通配符匹配文件名中的单个字符,而 * 通配符匹配零个或多个字符。像 data?.dat 这样的模式将查找下列文件:

data1.dat
data2.dat
datax.dat
dataN.dat
使用 * 字符代替 ? 字符扩大了找到的文件的数量。data*.dat 匹配下列所有文件:

data.dat
data1.dat
data2.dat
data12.dat
datax.da
dataXYZ.dat
尽管这种搜索方法很有用,但它还是有限的。? 和 * 通配符的能力引入了正则表达式所依赖的概念,但正则表达式功能更强大,而且更加灵活。
正则表达式的用途 
通过实例说明正则表达式如何扩展常规搜索条件。

典型的搜索和替换操作要求您提供与预期的搜索结果匹配的确切文本。虽然这种技术对于对静态文本执行简单搜索和替换任务可能已经足够了,但它缺乏灵活性,若采用这种方法搜索动态文本,即使不是不可能,至少也会变得很困难。

通过使用正则表达式,可以:

测试字符串内的模式。 
例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。

替换文本。 
可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。

基于模式匹配从字符串中提取子字符串。 
可以查找文档内或输入域内特定的文本。

例如,您可能需要搜索整个 Web 站点,删除过时的材料,以及替换某些 HTML 格式标记。在这种情况下,可以使用正则表达式来确定在每个文件中是否出现该材料或该 HTML 格式标记。此过程将受影响的文件列表缩小到包含需要删除或更改的材料的那些文件。然后可以使用正则表达式来删除过时的材料。最后,可以使用正则表达式来搜索和替换标记。

正则表达式在 JScript 或 C 等语言中也很有用,这些语言的字符串处理能力还不为人们所知。

当前1/4页 1234下一页阅读全文

(0)

相关推荐

  • 正则入门连载!(献给不及格的程序员们)第1/4页

    正则表达式  通过与大多数读者已经熟悉的一些概念进行比较,说明正则表达式的概念. 本篇内容全部来是 微软 公司 文档 对此表示感谢,像那些为此而工作过的人们. 除非您以前使用过正则表达式,否则您可能不熟悉此术语.但是,毫无疑问,您已经使用过不涉及脚本的某些正则表达式概念. 例如,您很可能使用 ? 和 * 通配符来查找硬盘上的文件.? 通配符匹配文件名中的单个字符,而 * 通配符匹配零个或多个字符.像 data?.dat 这样的模式将查找下列文件: data1.dat data2.dat data

  • .NET程序员如何入门Spring Boot详解

    前言 本篇文章将教你作为一个.NET程序员如何快入门Spring Boot.你不需要用Eclipse,也不需要用IDEA.已经习惯了VS,其他的IDE-- 但不得不说VS Code很厉害,一用就喜欢.微软给VS Code提供了编写Java的插件,你可以在VS Code上愉快地写Java. 一.环境搭建 (1) 安装Java.配置环境变量.(教程很多,这里不多说) (2) 安装Maven和配置.参考https://www.cnblogs.com/eagle6688/p/7838224.html (

  • 99%的程序员都会收藏的书单 你读过几本?

    人丑就要多读书,颜值不够知识来凑,至少你可以用书籍来武装你的大脑,拯救你的人生.  01 顶级程序员必备书籍,雷军都点赞的书单! (点击这里,查看原文) 拿到了一份雷军点赞的程序员必读书单, 让我们看看, 想成为程序员大神,需要哪些书籍! 软件工程本身就是一个需要实践的行业, 在实践的同时,针对读书, 我的看法是:不能不读! 读了之后在实际开发的过程中, 能够避免一些坑! 好的书籍每年都会有新的产出, 雷军推荐的顶级程序员书单都有哪些书呢? 02 Python书单,不将就(部分pdf电子书下载)

  • 荐书|程序员书单必不可少系列之算法篇

    前言 又到了给大家"荐书"的时候了,如果计算机系只开三门课,那么这三门课就一定是:离散数学,数据结构与算法,编译原理.如果只开一门课,那剩下的就一定是:数据结构与算法.最近参加了很多线下的会议,发现一个点,就是不管什么技术主题的大会,人们都会找算法的书,小编再次深深地体会到算法是那么地必不可少,现在小编就来盘点一下算法书推荐给大家. 一.<程序员的数学>第3弹--线性代数 作者:[日] 平岡和幸,[日] 堀玄 译者:卢晓南 豆瓣评分:8.7分 机器学习.数据挖掘.模式识别必

  • 8种类型极品程序员,不知你属于哪一种?

    在日常工作里肯定会发现很多有趣的事情,极品程序员所做的事就是很有意思的.事实上,现在所讨论的极品程序员主要是从他们的判断力.行为举止.个人态度和匪夷所思的工作方式上来判断的,有的时候这些程序员一味的只是追求文档上的内容,而不擅于用分析方式来解决问题. 几乎每一个软件开发者多多少少都会出现头脑短路的现象,也就是说,下面所列举的各种极品程序员类型,总有一款是属于你的. 1. 钟爱型程序员:万般宠爱集于一种技术 这种类型的程序员所遇到的致命错误就是:只钟爱一种技术,对别的技术不来电.其实这不是什么值得

  • 一个30多年编程经验的程序员总结

    在我30多年的程序员生涯里,我学到了不少有用的东西.下面是我这些年积累的经验精华.我常常想,如果以前能有人在这些经验上指点一二,我相信我现在会站得更高. 1.客户在接触到产品之后,才会真正明白自己的需求. 这是我在我的第一份工作上面学来的.只有当我们给客户展示产品的时候,他们才会意识到哪些是必须的.给出一个功能性原型设计远远比一张长长的文字表格要好. 2.只要有充足的时间,所有安全防御系统都将失败. 安全防御现如今是全世界都在关注的大课题.大挑战.我们必须时时刻刻积极完善它,因为黑客只要有一次成

  • 一个合格的程序员应该读过哪些书(偏java)

    很多程序员响应,他们在推荐时也写下自己的评语. 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书. 其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语. 下面就按照各本书的推荐数排列. 1.<代码大全> 史蒂夫·迈克康奈尔 推荐数:1684 "优秀的编程实践的百科全书,<代码大全>注重个人技术,其中所有东西加起来, 就是我们本能所说的"编写整洁的代码".这本书有50页在谈论代码布局

  • php程序员应具有的7种能力小结

    一,php能力   1,了解阶段,您能写一些代码,因为那是在手册和google的帮助下,您才完成的.变量乱定义,N多函数不知道,做起事来很慢,想到什么写什么,代码写的比较乱,后期维护很麻烦.   2,熟悉阶段,经常查函数,手册估计也看过一,二遍了,常用的函数基本上您都了解了.后 期维护给您带来了不少痛苦,您开始发现自己的代码有很多不足,开始思考如果改进自己的代码,如何站在项目的角度来规划自己的代码,而不是想到什么写什么, 知道如何来减少冗余代码,使您的代码清晰,知道什么样的代码写出来让人看着舒服

  • PHP 程序员的调试技术小结

    本文介绍调试 PHP 应用程序的各种方法,包括在 Apache and PHP 中打开错误报告,以及通过在一个简单的 PHP 脚本中放置策略性的 print 语句,找到更困难的 bug 的源头.还会介绍用于 Eclipse 的 PHPEclipse 插件,这是一个灵活的开发环境,具有实时语法解析能力,还会介绍 PHPEclipse 的 DBG 调试器扩展. 简介 有许多 PHP 调试技术可以在编码的时候节约大量时间.一个有效却很基本的调试技术就是打开错误报告.另一个略微高级一点的技术包括使用 p

  • C++高级程序员成长之路

    C++这门语言从诞生到今天已经经历了将近30个年头.不可否认,它的学习难度都比其它语言较高.而它的学习难度,主要来自于它的复杂性.现在C++的使用范围比以前已经少了很多,java.C#.python等语言在很多方面已经可以代替C++.但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏.高效的服务器. 现在学习java.C#等语言的人数远远高于C++,主要是C++的入门门槛太高,可能学习了一段时间后还做不了什么东西,导致信心大受打击,进而放弃. 我想把我自己的经

随机推荐