1 / 34
文档名称:

正则表达式.pptx

格式:pptx   大小:188KB   页数:34页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

正则表达式.pptx

上传人:wz_198613 2019/2/15 文件大小:188 KB

下载得到文件列表

正则表达式.pptx

文档介绍

文档介绍:vi的一个例子假设有一个文件,里面有一些我们需要的信息,但是格式却有问题,目前数据的列顺序是:姓名,单位名,省名缩写,邮政编码,现在我们希望将这些数据重新组织,以便在我们的某个软件中使用,需要的格式为:姓名,省名缩写邮政编码,单位名。也就是说,我们要调整列顺序,还要合并两个列来构成一个新列。另外,我们的软件不能接受逗号前后面有任何空格(包括空格和制表符)所以我们还必须要去掉逗号前后的所有空格。vi的一个例子LonggangLei,HITWHMTC,SX,264209NannanJiang,HITWHMTC,SD,264209ZhipengShao,HITWHMTC,HB,264209:%s/\([^,]*\),\([^,]*\),\([^,]*\),\(.*\)/\1,\3\4,\2/:%s/[\t]*,[\t]*/,/g简介正则表达式广泛出现在UNIX/Linux相关的各种领域和多种编程语言里。从常见的shell命令到大名鼎鼎的Perl语言再到强大的Tcl,它都扮演着一个重要的角色。它可以:(1)检查一个串中是否含有符合某个规则的子串,并且可以得到这个子串;(2)根据匹配规则对字符串进行灵活的替换操作。、数字、汉字、下划线、以及后边章节中没有特殊定义的标点符号,都是“普通字符”。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。例1:表达式"c",在匹配字符串"abcde"时,匹配结果是:成功;匹配到的内容是:"c";匹配到的位置是:开始于2,结束于3。(注:下标从0开始还是从1开始,因当前编程语言的不同而可能不同),采用在前面加“\”的方法。我们在Tcl里已经介绍过。\r代表回车\n代表换行符\t制表符\\代表"\"本身正则表达式规则还有其他一些在后边章节中有特殊用处的标点符号\^ 匹配^符号本身\$ 匹配$符号本身\. 匹配小数点(.)本身这些转义字符的匹配方法与"普通字符"是类似的。也是匹配与之相同的一个字符。 例:表达式"\$d",在匹配字符串"abc$de"时,匹配结果是:成功;匹配到的内容是:"$d";匹配到的位置是:开始于3,‘多种字符’匹配的表达式正则表达式中的一些表示方法,可以匹配'多种字符'其中的任意一个字符。比如,表达式"\d"可以匹配任意一个数字。虽然可以匹配其中任意字符,但是只能是一个,不是多个。\d 0~9中的任意一个数字\w 任意一个字母或数字或下划线,也就是A~Z,a~z,0~9,_中任意一个\s 包括空格、制表符、换页符等空白字符的其中任意一个. 小数点可以匹配除了换行符(\n)以外的任意一个字符正则表达式规则例1:表达式"\d\d",在匹配"abc123"时,匹配的结果是:成功;匹配到的内容是:"12";匹配到的位置是:开始于3,结束于5。例2:表达式"a.\d",在匹配"aaa100"时,匹配的结果是:成功;匹配到的内容是:"aa1";匹配到的位置是:开始于1,结束于4。‘多种字符’的表达式使用方括号[]包含一系列字符,能够匹配其中任意一个字符。用[^]包含一系列字符,则能够匹配其中字符之外的任意一个字符。同样的道理,虽然可以匹配其中任意一个,但是只能是一个,不是多个。如:[ab5@] 匹配"a"或"b"或"5"或"@"[^abc] 匹配"a","b","c"之外的任意一个字符[f-k] 匹配"f"~"k"之间的任意一个字母[^A-F0-3] 匹配"A"~"F","0"~"3"之外的任意一个字符正则表达式规则例1:表达式"[bcd][bcd]"匹配"abc123"时,匹配的结果是:成功;匹配到的内容是:"bc";匹配到的位置是:开始于1,结束于3。例2:表达式"[^abc]"匹配"abc123"时,匹配的结果是:成功;匹配到的内容是:"1";匹配到的位置是:开始于3,结束于4。