正则表达式简明教程 下载本文

内容发布更新时间 : 2024/7/7 21:18:20星期一 下面是文章的全部内容请认真阅读。

正则表达式简明教程

概论:

在各种有关文本处理的程序中,往往要用到正则表达式。熟练掌握正则表达式,是一项基本技能。本文,主要说明正则表达式的原理与应用,并给出了详细例子,用于情景学习,无论是使用VIM ,sed,awk,grep等程序,都能在本文着那个找到帮助。 1.基础知识

什么是字符?

字符,符号简单的说就是抽象,一定的符号表示一定的意义。一般来说,字符含义有三种“一般字符、特殊字符、转义字符”。例如在ASCII中,a就表示a(一般字符);/表示转意后面一个字符,%表示格式化输出(特殊字符);\\n表示回车(转义字符),就是让n不代表它本身的意义(一般意义或者特殊意义).同时,转义字符可以让一个一般字符也表达特殊意义如\\a,也可以让一个特殊字符表达一般意义/%。 不同语言体系的特殊字符不同,转意字符也不同。例如在汉语中,“。”表示句子的终结,但是放在转义字符“”之中就仅仅表示“。”。(所以,从理论上说,只 要你喜欢,你完全可以把所有的转义字符和格式化特殊字符都用普通字符来表示,不过此时,你的符号系统需要更多的字符来区分)

2.正则表达式

如你所知,我们通常意义上说的正则表达式其实包含两部分:正则表达式的处理引擎(grep,C#等程序中都包含)和正则表达式语法,一定的语法要输入在引擎中才能起作用,理解这一点很重要。而本文主要为你讲述正则表达式的语法。 下面,谈一谈正则表达式中的转义字符(注意,不同的语系中特殊字符的含义不同,例如C语言中$是一般字符,但在正则表达式中却不是): 2.1特殊字符:

/ [ ] ^ % $ * + . | ( ) –特别字符 说明 $

匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\\n' 或‘\\r'。要匹配 $ 字符本身,请使用 \\$。

()

标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \\( 和 \\)。 *

匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \\*。 +

匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \\+。 .

匹配除换行符 \\n之外的任何单字符。要匹配 .,请使用 \\。 []