正则表达式初略介绍

概念

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

下边我们说一下正则表达式的目的和特点:

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);

2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

正则表达式的特点是:

1. 灵活性、逻辑性和功能性非常的强;

2. 可以迅速地用极简单的方式达到字符串的复杂控制。

3. 对于刚接触的人来说,比较晦涩难懂。

时间: 2024-08-01 14:37:04

正则表达式初略介绍的相关文章

Hadoop架构的初略总结(1)

Hadoop架构的初略总结(1) Hadoop是一个开源的分布式系统基础架构,此架构可以帮助用户可以在不了解分布式底层细节的情况下开发分布式程序. 首先我们要理清楚几个问题. 1.我们为什么需要Hadoop? 解: 简单来说,我们每天上网浏览,上街购物,都会产生数据.我们处于一个数据量呈爆发式增长的时代.我们需要对这些数据进行分析处理,以获得更多有价值的东西.而Hadoop应时代而生.其次我们应该比较了解传统型关系数据库跟Hadoop之间有何区别.这些在前面的Hadoop第二课我们都有所提到.

18.如何自学Struts2之Struts2标签和集成初略总结篇

18.如何自学Struts2之Struts2标签和集成初略总结篇[视频] 之前写了一篇"打算做一个视频教程探讨如何自学计算机相关的技术",优酷上传不了,只好传到百度云上: http://pan.baidu.com/s/1kTDsa95 有问题可以直接回复这篇文章.

Spring简单的小例子SpringDemo,用于初略理解什么是Spring以及JavaBean的一些概念

一.开发前的准备 两个开发包spring-framework-3.1.1.RELEASE-with-docs.zip和commons-logging-1.2-bin.zip,将它们解压,然后把Spring开发包下dist目录的所有包和commons-logging包下的commons-logging-1.1.1.jar复制到名为Spring3.1.1的文件夹下.那么Spring开发所需要的包就组织好了. 二.建立项目,导入包 在项目节点上右键,Build Path/ADD Libraries/U

学习: Delphi FireMonkey 结构性初略分析

Delphi 下的FireMonkey,很好地实现了 DirectUI与跨平台.学习了解他,对DirectUI编程及项目的跨平台实现有一定帮助.虽然作为开发者个体,并不需要了解太多这些东西,只要求拿来能用能实现功能就行,但对 FireMonkey的学习分析,对自己程序设计思想的提升,会有一定帮助. 昨天用FireMonkey控件写了一个小例子,发现他的 Animation类在实现控件的小动画时,很高效,很灵活.初步印象是 FireMonkey的内核有很多值得学习的地方,尤其他的界面渲染上,可以深

自然语言处理(英语文章)———初略处理

这里利用2-gram模型来提取一篇英文演讲的初略的主题句子,这里是英文演讲的的链接:http://pythonscraping.com/files/inaugurationSpeech.txt n-gram模型是指n个连续的单词组成的序列 以下贴出代码(基于python2.7),详情参考<python网络数据采集> #-*- coding:utf-8 -*- from urllib2 import urlopen import re import string import operator

【那年那人那linux】“正则表达式”初窥之二则问题

始于linux学习过程中欲检测学习效果,同学推荐了两道正则表达式的题目.这两道题目字数不多,但却引发了我的一段思考.操作环境CentOS6.7 2.6.32-573.22.1.el6.x86_64 现题目整理如下: [第一则] 请使用正则表达式与sed命令将/etc/passwd内的第一个单词与最后一个单词置换.例如: sc:x:891:809::/home/sc:/bin/bash #操作之前 bash:x:891:809::/home/sc:/bin/sc #操作之后 [第二则] 请使用正则

IOS正则表达式的简单介绍

下面是简单正则表达式的个个字符的意识: 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”).模式描述在搜索文本时要匹配的一个或多个字符串. 正则表达式示例 表达式 匹配 /^\s*$/ 匹配空行. /\d{2}-\d{5}/ 验证由两位数字.一个连字符再加 5 位数字组成的 ID 号. /<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/ 匹配 HTML 标记. 下表包含了元字符的完整列表以及它们在

正则表达式-初入门槛

概念以及基本元素: 1.元字符: §正则表达式由一些普通字符和一些元字符(meta characters)组成.普通字符包括大小写的字母和数字,而元字符则具有特殊的含义. A.常用元字符: 元字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个向后引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配 "\" 而 "\(" 则匹配 "(".  . 匹配除 &q

python re正则表达式基本使用介绍

何为正则表达式? 正则表达式为高级的文本模式匹配.抽取.与/或文本形式的搜索和替换功能提供了基础. 简单来说,正则表达式(Regular Expression,简称regex)是一些由字符和特殊符号组成的字符串,它们描述了模式的重复或者表述多个字符,正则表达式能按照某种模式匹配一系列有相似特征的字符串. python re模块提供正则功能 以下是一些基本使用: #正则表达式元字符 1)  .  (通配符)除了换行符外均可代指 #ret = re.findall('w..l',s) #print