作者:XXX部门:测试部日期:2011-11-16制作:某某部时间:2011-1-1正则表达式及在TCL中应用正则表达式及在TCL中应用目录基本概念基本概念典型实例演示及分析典型实例演示及分析第五节第五节tcltcl中的应用一中的应用一regexpregexp贪婪与非贪婪模式贪婪与非贪婪模式常用正则表达式集常用正则表达式集第六节第六节tcltcl中的应用二中的应用二regsubregsub第一节正则表达式的基本概念正则表达式:指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串(公式)
用处:用来检索和/或替换那些符合某个模式的文本内容
许多程序设计语言都支持利用正则表达式进行字符串操作
组成:有一些普通字符和一些元字符组成(包括汉字)
普通字符包括大小写的字母和数字;元字符是具有特殊含义的字符
元字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符
匹配除“\n”之外的任何单个字符
要匹配包括“\n”在内的任何字符,可使用”(
|\n)”的模式
^匹配输入字符串的开始位置
如:^hello匹配“helloworld”,但不匹配“worldhello”
$匹配输入字符串的结束位置
如:hello$匹配“worldhello”,但不匹配“helloworld”*匹配前面的子表达式零次或多次
如:zo*能匹配“z”“zo””zoo”
等价于{0,}
+匹配前面的子表达式一次或多次
如:zo+能匹配“zo””zoo”
等价于{1,}
匹配前面的子表达式零次或一次
如:zo*能匹配“z”“zo”
等价于{0,1}
{n}n为非负整数
匹配确定的n次
o{2}匹配”zoo”中的“oo”,但不能匹配”zo”中的“o”
{n,}n为非负整数
至少匹配n次
o{2}匹配“zooo”中的“ooo”,但不能匹配”zo”中的“o”