快速业务通道

正则表达式基础

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-24

一、正则表达式基础

元字符(metacharacters)是用来阐释字符表达式意义的字符,简言之,元字符就是描述字符的字符,它用于对字符表达式的内容、转换及各种操作信息进行描述.

正则表达式是由一串字符和元字符构成的字符串,简称RERegular Expression).

正则表达式的主要功能是文本查询和字符串操作,正则表达式可以匹配文本的一个字符或字符集合.Linux是一套可免费使用和自由传播的类Unix操作系统

ab12等字符属于普通字符,普通字符可以按照字面意思理解,如:a只能理解为英文的小写字母a,没有其他隐藏含义.

*^[ ]等元字符,Shell赋予了它们超越字面意思的意义,如:*符号的字面意义只是一个符号,而实际上却表示了重复前面的字符0次或多次的隐藏含义

基本的正则表达式元字符集合及意义

*”符号用于匹配前面一个普通字符的0次或多次重复

hel*o*符号前面的普通字符是l,*字符就表示匹配l字符0次或多次,如字符串helohellohellllllo都可以由hel*o来表示

“.”符号用于匹配任意一个字符

…73.表示前面三个字符为任意字符,第4和第5个字符是73,一个字符为任意字符,如xcb7384J973U都能匹配上述字符串

“^”符号用于匹配行首,表示行首的字符是^字符后面的那个字符

^cloud表示匹配以cloud开头的行

“contentrdquo;符号匹配行尾,$符号放在匹配字符之后ab12等字符属于普通字符,普通字符可以按照字面意思理解,如:a只能理解为英文的小写字母a,没有其他隐藏含义.

micky$表示匹配以micky结尾的所有行

“^contentrdquo; 表示空白行

“[]”匹配字符集合,该符号支持穷举方法列出字符集合的所有元素

[0123456789][0-9]……

[A-Za-z] [A-Za-z]* 匹配所有英文单词

“\”符号是转义符,用于屏蔽一个元字符的特殊意义

\. \$ \^

\<\>符号是精确匹配符号,该符号利用\符号屏蔽<>符号

\<the\> 精确匹配单词the,them, they等不匹配

“\{\}”系列符号表示前一个字符的重复

\{n\}:匹配前面字符出现n次,如 JO\{3\}B 匹配JOOOB

\{n,\}:匹配前面字符至少出现n次,如JO\{3,\}B匹配JOOOBJOOOOBJOOOOOB等字符串

\{n,m\}:匹配前面字符出现n次与m次之间,如JO\{3,6\}B匹配JOOOBJOOOOOOB等字符串

[a-z] \{5\}: 匹配系统支持三种形式的grep命令,通常将这三种形式的grep命令称为grep命令族,这三种形式具体为:

grep:标准grep命令,支持基本正则表达式

egrep:扩展grep命令,支持基本和扩展正则表达式,等价于grep –E

fgrep:快速grep命令,不支持正则表达式,按照字符串的字面意思进行匹配,等价于grep -F

本文出自 “改变从现在开始” 博客,请务必保留此出处http://peaceweb.blog.51cto.com/3226037/742584

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号